@g1cloud/bluesea 5.0.0-beta.7 → 5.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BSAlertModal-B3zqxyBI.js → BSAlertModal-C8PIj5h_.js} +1 -1
- package/dist/{BSGridColumnSettingModal-CD9mFu9P.js → BSGridColumnSettingModal-D9CI-F_e.js} +1 -1
- package/dist/{BSRichTextMaximizedModal-BP6jz2N7.js → BSRichTextMaximizedModal-DsSYqgSR.js} +1 -1
- package/dist/{BSYesNoModal-82FcvYh-.js → BSYesNoModal-CB_RIKt0.js} +1 -1
- package/dist/{BSYoutubeInputModal-CrtOzrD-.js → BSYoutubeInputModal-CwLcWtEI.js} +1 -1
- package/dist/{ImageInsertModal-DdYqZWc5.js → ImageInsertModal-lWQeIMu7.js} +2 -2
- package/dist/{ImageProperties.vue_vue_type_script_setup_true_lang-2wZT4GKQ.js → ImageProperties.vue_vue_type_script_setup_true_lang-DDj0Odaa.js} +1 -1
- package/dist/{ImagePropertiesModal-CQnEtdug.js → ImagePropertiesModal-C6RyT5B5.js} +2 -2
- package/dist/{LinkPropertiesModal-DiqsnQW6.js → LinkPropertiesModal-D5A3Gq2i.js} +1 -1
- package/dist/{TableInsertModal-CQP0Lv5V.js → TableInsertModal-B1F5T8qs.js} +1 -1
- package/dist/{TablePropertiesModal-BlPP_yM-.js → TablePropertiesModal-DUiHSjcT.js} +1 -1
- package/dist/{VideoInsertModal-kNMv3Gr0.js → VideoInsertModal-R0Bs5E2T.js} +2 -2
- package/dist/{VideoProperties.vue_vue_type_script_setup_true_lang-BIg6hg9n.js → VideoProperties.vue_vue_type_script_setup_true_lang-BCTNqg94.js} +1 -1
- package/dist/{VideoPropertiesModal-DTnfD1tS.js → VideoPropertiesModal-DQADTS-J.js} +2 -2
- package/dist/{YoutubeInsertModal-Br27gi-y.js → YoutubeInsertModal-R97l6ge3.js} +2 -2
- package/dist/{YoutubeProperties.vue_vue_type_script_setup_true_lang-BpbU20_i.js → YoutubeProperties.vue_vue_type_script_setup_true_lang-Ce9a5UDA.js} +1 -1
- package/dist/{YoutubePropertiesModal-BXCSIlF9.js → YoutubePropertiesModal-BbrU7l5m.js} +2 -2
- package/dist/bluesea.js +107 -105
- package/dist/bluesea.umd.cjs +91 -29
- package/dist/component/grid/DateFilterModel.d.ts +15 -0
- package/dist/component/grid/GridModel.d.ts +1 -0
- package/dist/component/input/BSDateRangePresets.vue.d.ts +2 -2
- package/dist/component/input/DateRangePresetModel.d.ts +2 -0
- package/dist/component/tree/TreeModel.d.ts +28 -0
- package/dist/{index-CpfyaKHy.js → index-DRs7QwNQ.js} +211 -149
- package/package.json +1 -1
package/dist/bluesea.umd.cjs
CHANGED
|
@@ -4688,6 +4688,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4688
4688
|
});
|
|
4689
4689
|
dayjs.extend(utc);
|
|
4690
4690
|
dayjs.extend(timezone);
|
|
4691
|
+
const createDateRangeFromPreset = (value, timeZone) => {
|
|
4692
|
+
const from = value.from ? resolveMoment(value.from, true, timeZone) : void 0;
|
|
4693
|
+
const to = value.to ? resolveMoment(value.to, false, timeZone) : void 0;
|
|
4694
|
+
return { from: from == null ? void 0 : from.toISOString(), to: to == null ? void 0 : to.toISOString() };
|
|
4695
|
+
};
|
|
4691
4696
|
const resolveMoment = (setting, from, timeZone, baseDate) => {
|
|
4692
4697
|
switch (setting.type) {
|
|
4693
4698
|
case "TODAY":
|
|
@@ -4954,25 +4959,20 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4954
4959
|
const emit = __emit;
|
|
4955
4960
|
const actualTimeZone = vue.computed(() => props.timeZone || blueseaConfig.timeZone);
|
|
4956
4961
|
const currentPreset = vue.ref();
|
|
4957
|
-
const createDateRange = (value) => {
|
|
4958
|
-
const from = value.from ? resolveMoment(value.from, true, actualTimeZone.value) : void 0;
|
|
4959
|
-
const to = value.to ? resolveMoment(value.to, false, actualTimeZone.value) : void 0;
|
|
4960
|
-
return { from: from == null ? void 0 : from.toISOString(), to: to == null ? void 0 : to.toISOString() };
|
|
4961
|
-
};
|
|
4962
4962
|
const presetSelected = (value) => {
|
|
4963
|
-
const range = value ?
|
|
4964
|
-
emit("update:modelValue", range);
|
|
4963
|
+
const range = value ? createDateRangeFromPreset(value, actualTimeZone.value) : void 0;
|
|
4964
|
+
emit("update:modelValue", range, value);
|
|
4965
4965
|
};
|
|
4966
|
-
const
|
|
4966
|
+
const findPreset2 = (range) => {
|
|
4967
4967
|
return props.presets.find((preset) => {
|
|
4968
|
-
const presetValue =
|
|
4968
|
+
const presetValue = createDateRangeFromPreset(preset, actualTimeZone.value);
|
|
4969
4969
|
return (range == null ? void 0 : range.from) === presetValue.from && (range == null ? void 0 : range.to) === presetValue.to;
|
|
4970
4970
|
});
|
|
4971
4971
|
};
|
|
4972
4972
|
vue.watch(
|
|
4973
4973
|
() => props.modelValue,
|
|
4974
4974
|
() => {
|
|
4975
|
-
currentPreset.value =
|
|
4975
|
+
currentPreset.value = findPreset2(props.modelValue);
|
|
4976
4976
|
},
|
|
4977
4977
|
{ immediate: true }
|
|
4978
4978
|
);
|
|
@@ -6153,16 +6153,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6153
6153
|
},
|
|
6154
6154
|
clickRemoveButton: () => this.removeSelectedItem(),
|
|
6155
6155
|
expandAll: () => {
|
|
6156
|
-
|
|
6157
|
-
if (this.expandedRows.size === allParents.size) {
|
|
6158
|
-
this.expandedRows.clear();
|
|
6159
|
-
} else {
|
|
6160
|
-
allParents.forEach((item) => {
|
|
6161
|
-
const key = option.getItemKey(item);
|
|
6162
|
-
if (key) this.expandedRows.add(key);
|
|
6163
|
-
});
|
|
6164
|
-
}
|
|
6165
|
-
this.updateAllExpanded();
|
|
6156
|
+
this.expandAll(this.expandedRows.size !== this.getAllParents().size);
|
|
6166
6157
|
}
|
|
6167
6158
|
};
|
|
6168
6159
|
}
|
|
@@ -6298,6 +6289,25 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6298
6289
|
}
|
|
6299
6290
|
this.cleanUpExpandedRows(this.expandedRows, this.tree.data);
|
|
6300
6291
|
}
|
|
6292
|
+
expandAll(expandOrDepth) {
|
|
6293
|
+
if (expandOrDepth === true) {
|
|
6294
|
+
const allParents = this.getAllParents();
|
|
6295
|
+
allParents.forEach((item) => {
|
|
6296
|
+
const key = this.option.getItemKey(item);
|
|
6297
|
+
if (key) this.expandedRows.add(key);
|
|
6298
|
+
});
|
|
6299
|
+
} else if (expandOrDepth === false) {
|
|
6300
|
+
this.expandedRows.clear();
|
|
6301
|
+
} else if (expandOrDepth > 1) {
|
|
6302
|
+
const parents = /* @__PURE__ */ new Set();
|
|
6303
|
+
this.collectParents(parents, this.tree.data, this.option.getChildren, expandOrDepth - 1);
|
|
6304
|
+
parents.forEach((item) => {
|
|
6305
|
+
const key = this.option.getItemKey(item);
|
|
6306
|
+
if (key) this.expandedRows.add(key);
|
|
6307
|
+
});
|
|
6308
|
+
}
|
|
6309
|
+
this.updateAllExpanded();
|
|
6310
|
+
}
|
|
6301
6311
|
forceRemoveItems(items) {
|
|
6302
6312
|
items.forEach((item) => {
|
|
6303
6313
|
var _a2, _b;
|
|
@@ -6334,12 +6344,14 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6334
6344
|
}
|
|
6335
6345
|
}
|
|
6336
6346
|
}
|
|
6337
|
-
collectParents(parents, list, childrenProvider) {
|
|
6347
|
+
collectParents(parents, list, childrenProvider, maxDepth) {
|
|
6338
6348
|
for (const item of list) {
|
|
6339
6349
|
const children = childrenProvider(item);
|
|
6340
6350
|
if (children && children.length > 0) {
|
|
6341
6351
|
parents.add(item);
|
|
6342
|
-
|
|
6352
|
+
if (maxDepth === void 0 || maxDepth > 1) {
|
|
6353
|
+
this.collectParents(parents, children, childrenProvider, maxDepth ? maxDepth - 1 : void 0);
|
|
6354
|
+
}
|
|
6343
6355
|
}
|
|
6344
6356
|
}
|
|
6345
6357
|
}
|
|
@@ -36198,6 +36210,7 @@ img.ProseMirror-separator {
|
|
|
36198
36210
|
this.selectDeleteSupport.removeIfAddedRow = (row) => this.editableSupport.removeIfAddedRow(row);
|
|
36199
36211
|
}
|
|
36200
36212
|
setGridData(data) {
|
|
36213
|
+
GridHandlerEditableSupport.cleanUpData(data);
|
|
36201
36214
|
super.setGridData(data);
|
|
36202
36215
|
this.editableSupport.clearAddedRows();
|
|
36203
36216
|
}
|
|
@@ -36284,6 +36297,11 @@ img.ProseMirror-separator {
|
|
|
36284
36297
|
};
|
|
36285
36298
|
controlEventListener.clickAdd = () => this.createAndAddNewRow();
|
|
36286
36299
|
}
|
|
36300
|
+
static cleanUpData(data) {
|
|
36301
|
+
data == null ? void 0 : data.forEach((row) => {
|
|
36302
|
+
if (row && row[GRID_NEW_ROW_KEY]) delete row[GRID_NEW_ROW_KEY];
|
|
36303
|
+
});
|
|
36304
|
+
}
|
|
36287
36305
|
getModifiedRows() {
|
|
36288
36306
|
var _a2;
|
|
36289
36307
|
const addedKeys = this.addedRows.map((row) => row[GRID_NEW_ROW_KEY]);
|
|
@@ -37805,6 +37823,35 @@ img.ProseMirror-separator {
|
|
|
37805
37823
|
};
|
|
37806
37824
|
}
|
|
37807
37825
|
});
|
|
37826
|
+
const serializeMomentSetting = (setting) => {
|
|
37827
|
+
if (!setting) return "";
|
|
37828
|
+
const value = setting.value === void 0 ? "" : `:${setting.value}`;
|
|
37829
|
+
return `${setting.type}${value}`;
|
|
37830
|
+
};
|
|
37831
|
+
const convertDateRangePresetKey = (preset) => {
|
|
37832
|
+
return `${serializeMomentSetting(preset.from)}~${serializeMomentSetting(preset.to)}`;
|
|
37833
|
+
};
|
|
37834
|
+
const findPreset = (presetKey, candidatePresets) => {
|
|
37835
|
+
if (!presetKey) return void 0;
|
|
37836
|
+
return candidatePresets == null ? void 0 : candidatePresets.find((preset) => convertDateRangePresetKey(preset) === presetKey);
|
|
37837
|
+
};
|
|
37838
|
+
class BetweenDateFilterWithPreset extends BetweenDateFilter {
|
|
37839
|
+
constructor(name2, fromValue, toValue, preset) {
|
|
37840
|
+
super(name2, fromValue, toValue);
|
|
37841
|
+
__publicField(this, "presetKey");
|
|
37842
|
+
this.name = name2;
|
|
37843
|
+
this.fromValue = fromValue;
|
|
37844
|
+
this.toValue = toValue;
|
|
37845
|
+
this.presetKey = preset ? convertDateRangePresetKey(preset) : void 0;
|
|
37846
|
+
}
|
|
37847
|
+
// candidatePresets 중 presetKey 에 해당하는 preset 을 찾아, fromValue, toValue 를 설정한다.
|
|
37848
|
+
// preset 을 찾을 수 없으면 undefined 를 리턴한다.
|
|
37849
|
+
static createFromPresetKey(name2, presetKey, candidatePresets, timeZone) {
|
|
37850
|
+
const preset = findPreset(presetKey, candidatePresets);
|
|
37851
|
+
const range = preset ? createDateRangeFromPreset(preset, timeZone) : void 0;
|
|
37852
|
+
return range ? new BetweenDateFilterWithPreset(name2, range.from, range.to, preset) : void 0;
|
|
37853
|
+
}
|
|
37854
|
+
}
|
|
37808
37855
|
const _hoisted_1$N = {
|
|
37809
37856
|
key: 0,
|
|
37810
37857
|
class: "date-filters .bs-layout-vertical mr-16"
|
|
@@ -37863,9 +37910,10 @@ img.ProseMirror-separator {
|
|
|
37863
37910
|
if (propertyId) item.propertyId = propertyId;
|
|
37864
37911
|
emitValue();
|
|
37865
37912
|
};
|
|
37866
|
-
const setDateFilterValue = (index, value) => {
|
|
37913
|
+
const setDateFilterValue = (index, value, preset) => {
|
|
37867
37914
|
const item = dateFilterValues.value[index];
|
|
37868
37915
|
item.value = value || {};
|
|
37916
|
+
item.preset = preset;
|
|
37869
37917
|
emitValue();
|
|
37870
37918
|
};
|
|
37871
37919
|
const addDateFilter = () => {
|
|
@@ -37890,7 +37938,7 @@ img.ProseMirror-separator {
|
|
|
37890
37938
|
};
|
|
37891
37939
|
const emitValue = () => {
|
|
37892
37940
|
var _a2;
|
|
37893
|
-
const filters = dateFilterValues.value.map((item) =>
|
|
37941
|
+
const filters = dateFilterValues.value.map((item) => new BetweenDateFilterWithPreset(item.propertyId, item.value.from, item.value.to, item.preset));
|
|
37894
37942
|
const and = filters.length > 0 ? andFilter(filters) : void 0;
|
|
37895
37943
|
if (((_a2 = props.modelValue) == null ? void 0 : _a2.toString()) !== (and == null ? void 0 : and.toString())) {
|
|
37896
37944
|
emit("update:modelValue", and);
|
|
@@ -37957,10 +38005,11 @@ img.ProseMirror-separator {
|
|
|
37957
38005
|
}, null, 8, ["display-format", "from-id", "model-value", "name-from", "name-to", "popup-display-format", "popup-end-year", "popup-start-year", "resolution", "time-zone", "to-id", "width", "onUpdate:modelValue"]),
|
|
37958
38006
|
vue.createVNode(_sfc_main$1A, {
|
|
37959
38007
|
modelValue: item.value,
|
|
37960
|
-
"onUpdate:modelValue": [($event) => item.value = $event, (
|
|
38008
|
+
"onUpdate:modelValue": [($event) => item.value = $event, (value, preset) => setDateFilterValue(index, value, preset)],
|
|
37961
38009
|
presets: _ctx.presets,
|
|
38010
|
+
"time-zone": timeZoneOfFilterItem(item.propertyId),
|
|
37962
38011
|
class: "ml-4"
|
|
37963
|
-
}, null, 8, ["modelValue", "onUpdate:modelValue", "presets"])
|
|
38012
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "presets", "time-zone"])
|
|
37964
38013
|
]);
|
|
37965
38014
|
}), 128))
|
|
37966
38015
|
])) : vue.createCommentVNode("", true);
|
|
@@ -38016,12 +38065,23 @@ img.ProseMirror-separator {
|
|
|
38016
38065
|
emitUpdateModelValue();
|
|
38017
38066
|
emitSearch();
|
|
38018
38067
|
};
|
|
38068
|
+
const findDateFilterTimeZone = (name2, dateFilter) => {
|
|
38069
|
+
var _a2;
|
|
38070
|
+
return ((_a2 = dateFilter == null ? void 0 : dateFilter.filterItems.find((f) => f.propertyId === name2)) == null ? void 0 : _a2.timeZone) || blueseaConfig.timeZone;
|
|
38071
|
+
};
|
|
38019
38072
|
vue.watch(() => props.gridPreferenceDateFilterValues, () => {
|
|
38020
38073
|
if (props.gridPreferenceDateFilterValues && props.gridPreferenceDateFilterValues.filters && props.gridPreferenceDateFilterValues.filters.length > 0) {
|
|
38021
38074
|
const filters = props.gridPreferenceDateFilterValues.filters.map((filter) => {
|
|
38022
|
-
|
|
38023
|
-
|
|
38024
|
-
|
|
38075
|
+
var _a2, _b;
|
|
38076
|
+
const f = filter;
|
|
38077
|
+
if (f.name && (f.fromValue || f.toValue)) {
|
|
38078
|
+
if (f.presetKey) {
|
|
38079
|
+
const presets = props.dateRangePresets || ((_a2 = blueseaConfig.componentConfig.gridLookup) == null ? void 0 : _a2.dateRangePresets) || [];
|
|
38080
|
+
const timeZone = findDateFilterTimeZone(f.name, (_b = props.config) == null ? void 0 : _b.dateFilter);
|
|
38081
|
+
return BetweenDateFilterWithPreset.createFromPresetKey(f.name, f.presetKey, presets, timeZone);
|
|
38082
|
+
} else {
|
|
38083
|
+
return new BetweenDateFilterWithPreset(f.name, f.fromValue, f.toValue);
|
|
38084
|
+
}
|
|
38025
38085
|
}
|
|
38026
38086
|
}).filter(notNull);
|
|
38027
38087
|
if (filters.length > 0) {
|
|
@@ -72015,6 +72075,7 @@ img.ProseMirror-separator {
|
|
|
72015
72075
|
exports2.BSYesNoGroup = _sfc_main$1x;
|
|
72016
72076
|
exports2.BSYesNoSelect = _sfc_main$1V;
|
|
72017
72077
|
exports2.BetweenDateFilter = BetweenDateFilter;
|
|
72078
|
+
exports2.BetweenDateFilterWithPreset = BetweenDateFilterWithPreset;
|
|
72018
72079
|
exports2.BetweenFilter = BetweenFilter;
|
|
72019
72080
|
exports2.DEFAULT_GRID_COLUMN_WIDTH = DEFAULT_GRID_COLUMN_WIDTH;
|
|
72020
72081
|
exports2.DefaultBody = _sfc_main$h;
|
|
@@ -72061,6 +72122,7 @@ img.ProseMirror-separator {
|
|
|
72061
72122
|
exports2.closeAlarm = closeAlarm;
|
|
72062
72123
|
exports2.configureBluesea = configureBluesea;
|
|
72063
72124
|
exports2.contextMenuPluginKey = contextMenuPluginKey;
|
|
72125
|
+
exports2.convertDateRangePresetKey = convertDateRangePresetKey;
|
|
72064
72126
|
exports2.createContextMenuPlugin = createContextMenuPlugin;
|
|
72065
72127
|
exports2.createDefaultFrameContext = createDefaultFrameContext;
|
|
72066
72128
|
exports2.createInputGridHandler = createInputGridHandler;
|
|
@@ -1,4 +1,19 @@
|
|
|
1
|
+
import { BetweenDateFilter } from '../../model/FilterModel.ts';
|
|
2
|
+
import { Dayjs } from 'dayjs';
|
|
3
|
+
import { DateRangePreset } from '../input/DateRangePresetModel.ts';
|
|
4
|
+
import { TimeZone } from '../../model/CommonTypes.ts';
|
|
5
|
+
|
|
1
6
|
export type DateRange = {
|
|
2
7
|
from?: string;
|
|
3
8
|
to?: string;
|
|
4
9
|
};
|
|
10
|
+
export type DateRangePresetKey = string;
|
|
11
|
+
export declare const convertDateRangePresetKey: (preset: DateRangePreset) => DateRangePresetKey;
|
|
12
|
+
export declare class BetweenDateFilterWithPreset extends BetweenDateFilter {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly fromValue?: string | Date | Dayjs | undefined;
|
|
15
|
+
readonly toValue?: string | Date | Dayjs | undefined;
|
|
16
|
+
presetKey?: DateRangePresetKey;
|
|
17
|
+
constructor(name: string, fromValue?: string | Date | Dayjs | undefined, toValue?: string | Date | Dayjs | undefined, preset?: DateRangePreset);
|
|
18
|
+
static createFromPresetKey(name: string, presetKey: DateRangePresetKey, candidatePresets: DateRangePreset[], timeZone: TimeZone): BetweenDateFilterWithPreset | undefined;
|
|
19
|
+
}
|
|
@@ -341,6 +341,7 @@ export declare class GridHandlerEditableSupport<T extends GridRowData> {
|
|
|
341
341
|
private listener?;
|
|
342
342
|
addedRows: T[];
|
|
343
343
|
constructor(grid: UnwrapNestedRefs<GridBinding<T>>, gridEventListener: GridEventListener<T>, controlEventListener: GridControlEventListener, getRowKey: KeyProvider<T>, newRowCreator?: (() => T | undefined) | undefined, addRowToLast?: boolean | undefined, listener?: ((eventType: 'rowAdded' | 'rowRemoved') => void) | undefined);
|
|
344
|
+
static cleanUpData<T extends GridRowData>(data: T[]): void;
|
|
344
345
|
getModifiedRows(): T[];
|
|
345
346
|
getAddedRows(): T[];
|
|
346
347
|
clearAddedRows(): void;
|
|
@@ -8,7 +8,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
8
8
|
}>, {
|
|
9
9
|
presets: () => DateRangePreset[];
|
|
10
10
|
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
11
|
-
"update:modelValue": (value: DateRange | undefined) => void;
|
|
11
|
+
"update:modelValue": (value: DateRange | undefined, preset: DateRangePreset | undefined) => void;
|
|
12
12
|
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
13
13
|
modelValue?: DateRange | undefined;
|
|
14
14
|
presets?: DateRangePreset[] | undefined;
|
|
@@ -16,7 +16,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
16
16
|
}>, {
|
|
17
17
|
presets: () => DateRangePreset[];
|
|
18
18
|
}>>> & Readonly<{
|
|
19
|
-
"onUpdate:modelValue"?: ((value: DateRange | undefined) => any) | undefined;
|
|
19
|
+
"onUpdate:modelValue"?: ((value: DateRange | undefined, preset: DateRangePreset | undefined) => any) | undefined;
|
|
20
20
|
}>, {
|
|
21
21
|
presets: DateRangePreset[];
|
|
22
22
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MultiLangText, TimeZone } from '../../model/CommonTypes.ts';
|
|
2
2
|
import { Dayjs } from 'dayjs';
|
|
3
|
+
import { DateRange } from '../grid/DateFilterModel.ts';
|
|
3
4
|
|
|
4
5
|
export type MomentType = 'TODAY' | 'THIS_WEEK' | 'THIS_MONTH' | 'THIS_YEAR' | 'LAST_HOURS' | 'LAST_DAYS' | 'DAYS_AGO' | 'WEEKS_AGO' | 'MONTHS_AGO' | 'YEARS_AGO';
|
|
5
6
|
export type MomentSetting = {
|
|
@@ -11,4 +12,5 @@ export type DateRangePreset = {
|
|
|
11
12
|
from?: MomentSetting;
|
|
12
13
|
to?: MomentSetting;
|
|
13
14
|
};
|
|
15
|
+
export declare const createDateRangeFromPreset: (value: DateRangePreset, timeZone: TimeZone) => DateRange;
|
|
14
16
|
export declare const resolveMoment: (setting: MomentSetting, from: boolean, timeZone: TimeZone, baseDate?: Dayjs) => Dayjs | undefined;
|
|
@@ -35,9 +35,28 @@ export interface TreeHandler<T> {
|
|
|
35
35
|
treeEventListener: TreeEventListener<T>;
|
|
36
36
|
control: UnwrapNestedRefs<TreeControlBinding<T>>;
|
|
37
37
|
controlEventListener: TreeControlEventListener;
|
|
38
|
+
/**
|
|
39
|
+
* Tree 에 data 를 넣는다.
|
|
40
|
+
* @param data
|
|
41
|
+
* @param keepSelection true 이면 현재 선택된 항목이 유지된다.
|
|
42
|
+
* @param keepExpanded true 이면 현재 expanded 인 항목이 유지된다.
|
|
43
|
+
* @param waitTime 이 값이 0보다 크면 이 시간동안 tree 를 비웠다가 다시 채운다. refresh 효과를 위해 사용한다. millisecond 단위.
|
|
44
|
+
*/
|
|
38
45
|
setTreeData(data: T[], keepSelection?: boolean, keepExpanded?: boolean, waitTime?: number): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* 항목을 선택한다.
|
|
48
|
+
* @param item
|
|
49
|
+
*/
|
|
39
50
|
selectItem(item: T | T[] | undefined): void;
|
|
51
|
+
/**
|
|
52
|
+
* `item` 의 parent 를 리턴한다.
|
|
53
|
+
* @param item
|
|
54
|
+
*/
|
|
40
55
|
getParent(item: T | undefined): T | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* `item` 을 교체한다. item 이 변경된 경우, 변경된 객체를 tree 에 다시 표시할 때 사용한다.
|
|
58
|
+
* @param newItem
|
|
59
|
+
*/
|
|
41
60
|
replaceCurrentItem(newItem: T): void;
|
|
42
61
|
/**
|
|
43
62
|
* Tree 이 모든 항목을 순회하며 visitor 함수를 호출한다. visitor 함수가
|
|
@@ -63,7 +82,16 @@ export interface TreeHandler<T> {
|
|
|
63
82
|
* @param index 추가할 위치. 0 보다 작으면 제일 마지막에 추가한다. 디폴트는 -1.
|
|
64
83
|
*/
|
|
65
84
|
addChildItem(parent: T, index: number): void;
|
|
85
|
+
/**
|
|
86
|
+
* `items` 를 삭제한다.
|
|
87
|
+
* @param items
|
|
88
|
+
*/
|
|
66
89
|
removeItems(items: T[]): void;
|
|
90
|
+
/**
|
|
91
|
+
* Tree 전체를 펼치거나 접는다.
|
|
92
|
+
* @param expandOrDepth true 이면 전체를 펼치고, false 이면 접는다. 숫자이면 해당 depth 까지 표시되도록 펼친다.
|
|
93
|
+
*/
|
|
94
|
+
expandAll(expandOrDepth: boolean | number): void;
|
|
67
95
|
}
|
|
68
96
|
export type TreeBinding<T> = {
|
|
69
97
|
data: T[];
|