@@ -52,7 +63,7 @@
class="btn"
on:click={() => {
if (viewUpdate) viewDate.setMonth(viewDate.getMonth() - 1)
- dispatch('navigation', '-m')
+ dispatch('navigation', -1)
}}
>
@@ -61,7 +72,7 @@
class="btn"
on:click={() => {
if (viewUpdate) viewDate.setMonth(viewDate.getMonth() + 1)
- dispatch('navigation', '+m')
+ dispatch('navigation', 1)
}}
>
@@ -80,14 +91,14 @@
{#each [...Array(displayedWeeksCount).keys()] as weekIndex}
{#each [...Array(7).keys()] as dayOfWeek}
- {@const wrongM = weekday(firstDayOfCurrentMonth, weekIndex, dayOfWeek).getMonth() !== viewDate.getMonth()}
+ {@const date = weekday(firstDayOfCurrentMonth, weekIndex, dayOfWeek)}
+ {@const wrongM = date.getMonth() !== viewDate.getMonth()}
{
@@ -95,7 +106,7 @@
ev.preventDefault()
return
}
- viewDate = weekday(firstDayOfCurrentMonth, weekIndex, dayOfWeek)
+ viewDate = new Date(date)
if (currentDate) {
viewDate.setHours(currentDate.getHours())
viewDate.setMinutes(currentDate.getMinutes())
@@ -103,7 +114,7 @@
dispatch('update', viewDate)
}}
>
- {weekday(firstDayOfCurrentMonth, weekIndex, dayOfWeek).getDate()}
+ {date.getDate()}
{/each}
{/each}
@@ -213,6 +224,11 @@
background-color: var(--primary-bg-color);
}
+ &.range:not(.wrongMonth) {
+ color: var(--caption-color);
+ background-color: var(--primary-button-disabled);
+ }
+
&:before {
content: '';
position: absolute;
diff --git a/packages/ui/src/components/calendar/RangeDatePopup.svelte b/packages/ui/src/components/calendar/RangeDatePopup.svelte
new file mode 100644
index 0000000000..b7c2ff8d02
--- /dev/null
+++ b/packages/ui/src/components/calendar/RangeDatePopup.svelte
@@ -0,0 +1,209 @@
+
+
+
+
+
+
diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts
index aecfded413..7a05a65c3c 100644
--- a/packages/ui/src/index.ts
+++ b/packages/ui/src/index.ts
@@ -67,6 +67,7 @@ export { default as Section } from './components/Section.svelte'
export { default as DatePicker } from './components/calendar/DatePicker.svelte'
export { default as DateRangePicker } from './components/calendar/DateRangePicker.svelte'
export { default as DatePopup } from './components/calendar/DatePopup.svelte'
+export { default as RangeDatePopup } from './components/calendar/RangeDatePopup.svelte'
export { default as DateRangePopup } from './components/calendar/DateRangePopup.svelte'
export { default as TimePopup } from './components/calendar/TimePopup.svelte'
export { default as DateRangePresenter } from './components/calendar/DateRangePresenter.svelte'
diff --git a/plugins/view-assets/lang/en.json b/plugins/view-assets/lang/en.json
index 6adedec38e..5bc5cc6702 100644
--- a/plugins/view-assets/lang/en.json
+++ b/plugins/view-assets/lang/en.json
@@ -67,6 +67,14 @@
"ShowPreviewOnClick": "Please click to show document index preview...",
"Shown": "Shown",
"Total": "Total",
- "ShowEmptyGroups": "Show empty groups"
+ "ShowEmptyGroups": "Show empty groups",
+ "Overdue": "Overdue",
+ "Today": "Today",
+ "ThisWeek": "This week",
+ "NextWeek": "Next week",
+ "ThisMonth": "This month",
+ "NextMonth": "Next month",
+ "NotSpecified": "Not specified",
+ "CustomDate": "Custom date"
}
}
diff --git a/plugins/view-assets/lang/ru.json b/plugins/view-assets/lang/ru.json
index 59ba4560ff..ff46c26ee4 100644
--- a/plugins/view-assets/lang/ru.json
+++ b/plugins/view-assets/lang/ru.json
@@ -64,6 +64,14 @@
"ShowPreviewOnClick": "Пожалуйста нажмите чтобы увидеть предпросмотр...",
"Shown": "Показано",
"Total": "Всего",
- "ShowEmptyGroups": "Показывать пустые группы"
+ "ShowEmptyGroups": "Показывать пустые группы",
+ "Overdue": "Overdue",
+ "Today": "Сегодня",
+ "ThisWeek": "Эта неделя",
+ "NextWeek": "Следующая неделя",
+ "ThisMonth": "Этот месяц",
+ "NextMonth": "Следующий месяц",
+ "NotSpecified": "Не указана",
+ "CustomDate": "Выбранная дата"
}
}
diff --git a/plugins/view-resources/src/components/filter/DateFilter.svelte b/plugins/view-resources/src/components/filter/DateFilter.svelte
index 13ed6e6927..16392ac76c 100644
--- a/plugins/view-resources/src/components/filter/DateFilter.svelte
+++ b/plugins/view-resources/src/components/filter/DateFilter.svelte
@@ -13,138 +13,82 @@
// limitations under the License.
-->
-
+{/if}
diff --git a/plugins/view-resources/src/components/filter/FilterSection.svelte b/plugins/view-resources/src/components/filter/FilterSection.svelte
index 06a27e01b7..c005ae2b86 100644
--- a/plugins/view-resources/src/components/filter/FilterSection.svelte
+++ b/plugins/view-resources/src/components/filter/FilterSection.svelte
@@ -22,6 +22,7 @@
import { Filter, FilterMode } from '@hcengineering/view'
import { createEventDispatcher, onDestroy } from 'svelte'
import view from '../../plugin'
+ import ModeSelector from './ModeSelector.svelte'
export let filter: Filter
@@ -89,6 +90,22 @@
$: modeValuePromise = getMode(filter.mode)
$: nestedModeValuePromise = filter.nested ? getMode(filter.nested.mode) : undefined
+
+ function clickHandler (e: MouseEvent, nested: boolean) {
+ const curr = nested && filter.nested ? filter.nested : filter
+ if (curr.modes.length <= 2) {
+ toggle()
+ } else {
+ showPopup(ModeSelector, { filter: curr }, eventToHTMLElement(e), (res) => {
+ if (nested && filter.nested) {
+ filter.nested.mode = res
+ } else {
+ filter.mode = res
+ }
+ dispatch('change')
+ })
+ }
+ }
@@ -102,8 +119,8 @@