@g1cloud/bluesea 5.0.0-beta.6 → 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-B6XlvWm2.js → BSAlertModal-C8PIj5h_.js} +1 -1
- package/dist/{BSGridColumnSettingModal-DgqYUHUF.js → BSGridColumnSettingModal-D9CI-F_e.js} +1 -1
- package/dist/{BSRichTextMaximizedModal-DhmCYN9S.js → BSRichTextMaximizedModal-DsSYqgSR.js} +1 -1
- package/dist/{BSYesNoModal-CcElFZw-.js → BSYesNoModal-CB_RIKt0.js} +1 -1
- package/dist/{BSYoutubeInputModal-DLXCEq2-.js → BSYoutubeInputModal-CwLcWtEI.js} +1 -1
- package/dist/{ImageInsertModal-B5WoMehM.js → ImageInsertModal-lWQeIMu7.js} +2 -2
- package/dist/{ImageProperties.vue_vue_type_script_setup_true_lang-BIoCOwlw.js → ImageProperties.vue_vue_type_script_setup_true_lang-DDj0Odaa.js} +1 -1
- package/dist/{ImagePropertiesModal-AuLfc63Y.js → ImagePropertiesModal-C6RyT5B5.js} +2 -2
- package/dist/{LinkPropertiesModal-CzM1G8qN.js → LinkPropertiesModal-D5A3Gq2i.js} +1 -1
- package/dist/{TableInsertModal-ChcQJBQV.js → TableInsertModal-B1F5T8qs.js} +1 -1
- package/dist/{TablePropertiesModal-C1FzxMmL.js → TablePropertiesModal-DUiHSjcT.js} +1 -1
- package/dist/{VideoInsertModal-Blyjl-az.js → VideoInsertModal-R0Bs5E2T.js} +2 -2
- package/dist/{VideoProperties.vue_vue_type_script_setup_true_lang-C7l371rG.js → VideoProperties.vue_vue_type_script_setup_true_lang-BCTNqg94.js} +1 -1
- package/dist/{VideoPropertiesModal-CcgFfcXd.js → VideoPropertiesModal-DQADTS-J.js} +2 -2
- package/dist/{YoutubeInsertModal-B81eZZ3b.js → YoutubeInsertModal-R97l6ge3.js} +2 -2
- package/dist/{YoutubeProperties.vue_vue_type_script_setup_true_lang-DKGiIhRX.js → YoutubeProperties.vue_vue_type_script_setup_true_lang-Ce9a5UDA.js} +1 -1
- package/dist/{YoutubePropertiesModal-BI7rBusJ.js → YoutubePropertiesModal-BbrU7l5m.js} +2 -2
- package/dist/bluesea.js +107 -105
- package/dist/bluesea.umd.cjs +97 -31
- 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/config/config.d.ts +3 -2
- package/dist/{index-DzQ05auj.js → index-DRs7QwNQ.js} +217 -151
- package/package.json +1 -1
package/dist/bluesea.umd.cjs
CHANGED
|
@@ -118,6 +118,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
118
118
|
__publicField(this, "currentLocale");
|
|
119
119
|
__publicField(this, "dataLocales");
|
|
120
120
|
__publicField(this, "currentDataLocale");
|
|
121
|
+
__publicField(this, "defaultDataLocale");
|
|
121
122
|
__publicField(this, "timeZone");
|
|
122
123
|
__publicField(this, "displayTimeZones");
|
|
123
124
|
__publicField(this, "allTimeZones");
|
|
@@ -142,6 +143,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
142
143
|
this.currentLocale = this.defaultLocale;
|
|
143
144
|
this.dataLocales = ["en"];
|
|
144
145
|
this.currentDataLocale = this.dataLocales[0];
|
|
146
|
+
this.defaultDataLocale = this.dataLocales[0];
|
|
145
147
|
this.timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
146
148
|
this.displayTimeZones = [];
|
|
147
149
|
this.allTimeZones = [this.timeZone];
|
|
@@ -163,7 +165,8 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
163
165
|
if (options.dataLocales && options.dataLocales.length > 0) {
|
|
164
166
|
this.setDataLocales(
|
|
165
167
|
options.dataLocales,
|
|
166
|
-
options.currentDataLocale || options.dataLocales[0]
|
|
168
|
+
options.currentDataLocale || options.dataLocales[0],
|
|
169
|
+
options.defaultDataLocale || options.dataLocales[0]
|
|
167
170
|
);
|
|
168
171
|
}
|
|
169
172
|
if (options.timeZone) this.timeZone = options.timeZone;
|
|
@@ -212,9 +215,10 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
212
215
|
setCurrentLocale(locale) {
|
|
213
216
|
this.currentLocale = locale || this.defaultLocale;
|
|
214
217
|
}
|
|
215
|
-
setDataLocales(dataLocales, currentDataLocale) {
|
|
218
|
+
setDataLocales(dataLocales, currentDataLocale, defaultDataLocale) {
|
|
216
219
|
this.dataLocales = dataLocales;
|
|
217
220
|
this.currentDataLocale = currentDataLocale;
|
|
221
|
+
this.defaultDataLocale = defaultDataLocale || dataLocales[0];
|
|
218
222
|
}
|
|
219
223
|
setCurrentDataLocale(locale) {
|
|
220
224
|
this.currentDataLocale = locale || this.dataLocales[0] || "en";
|
|
@@ -4684,6 +4688,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4684
4688
|
});
|
|
4685
4689
|
dayjs.extend(utc);
|
|
4686
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
|
+
};
|
|
4687
4696
|
const resolveMoment = (setting, from, timeZone, baseDate) => {
|
|
4688
4697
|
switch (setting.type) {
|
|
4689
4698
|
case "TODAY":
|
|
@@ -4950,25 +4959,20 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4950
4959
|
const emit = __emit;
|
|
4951
4960
|
const actualTimeZone = vue.computed(() => props.timeZone || blueseaConfig.timeZone);
|
|
4952
4961
|
const currentPreset = vue.ref();
|
|
4953
|
-
const createDateRange = (value) => {
|
|
4954
|
-
const from = value.from ? resolveMoment(value.from, true, actualTimeZone.value) : void 0;
|
|
4955
|
-
const to = value.to ? resolveMoment(value.to, false, actualTimeZone.value) : void 0;
|
|
4956
|
-
return { from: from == null ? void 0 : from.toISOString(), to: to == null ? void 0 : to.toISOString() };
|
|
4957
|
-
};
|
|
4958
4962
|
const presetSelected = (value) => {
|
|
4959
|
-
const range = value ?
|
|
4960
|
-
emit("update:modelValue", range);
|
|
4963
|
+
const range = value ? createDateRangeFromPreset(value, actualTimeZone.value) : void 0;
|
|
4964
|
+
emit("update:modelValue", range, value);
|
|
4961
4965
|
};
|
|
4962
|
-
const
|
|
4966
|
+
const findPreset2 = (range) => {
|
|
4963
4967
|
return props.presets.find((preset) => {
|
|
4964
|
-
const presetValue =
|
|
4968
|
+
const presetValue = createDateRangeFromPreset(preset, actualTimeZone.value);
|
|
4965
4969
|
return (range == null ? void 0 : range.from) === presetValue.from && (range == null ? void 0 : range.to) === presetValue.to;
|
|
4966
4970
|
});
|
|
4967
4971
|
};
|
|
4968
4972
|
vue.watch(
|
|
4969
4973
|
() => props.modelValue,
|
|
4970
4974
|
() => {
|
|
4971
|
-
currentPreset.value =
|
|
4975
|
+
currentPreset.value = findPreset2(props.modelValue);
|
|
4972
4976
|
},
|
|
4973
4977
|
{ immediate: true }
|
|
4974
4978
|
);
|
|
@@ -6149,16 +6153,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6149
6153
|
},
|
|
6150
6154
|
clickRemoveButton: () => this.removeSelectedItem(),
|
|
6151
6155
|
expandAll: () => {
|
|
6152
|
-
|
|
6153
|
-
if (this.expandedRows.size === allParents.size) {
|
|
6154
|
-
this.expandedRows.clear();
|
|
6155
|
-
} else {
|
|
6156
|
-
allParents.forEach((item) => {
|
|
6157
|
-
const key = option.getItemKey(item);
|
|
6158
|
-
if (key) this.expandedRows.add(key);
|
|
6159
|
-
});
|
|
6160
|
-
}
|
|
6161
|
-
this.updateAllExpanded();
|
|
6156
|
+
this.expandAll(this.expandedRows.size !== this.getAllParents().size);
|
|
6162
6157
|
}
|
|
6163
6158
|
};
|
|
6164
6159
|
}
|
|
@@ -6294,6 +6289,25 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6294
6289
|
}
|
|
6295
6290
|
this.cleanUpExpandedRows(this.expandedRows, this.tree.data);
|
|
6296
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
|
+
}
|
|
6297
6311
|
forceRemoveItems(items) {
|
|
6298
6312
|
items.forEach((item) => {
|
|
6299
6313
|
var _a2, _b;
|
|
@@ -6330,12 +6344,14 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6330
6344
|
}
|
|
6331
6345
|
}
|
|
6332
6346
|
}
|
|
6333
|
-
collectParents(parents, list, childrenProvider) {
|
|
6347
|
+
collectParents(parents, list, childrenProvider, maxDepth) {
|
|
6334
6348
|
for (const item of list) {
|
|
6335
6349
|
const children = childrenProvider(item);
|
|
6336
6350
|
if (children && children.length > 0) {
|
|
6337
6351
|
parents.add(item);
|
|
6338
|
-
|
|
6352
|
+
if (maxDepth === void 0 || maxDepth > 1) {
|
|
6353
|
+
this.collectParents(parents, children, childrenProvider, maxDepth ? maxDepth - 1 : void 0);
|
|
6354
|
+
}
|
|
6339
6355
|
}
|
|
6340
6356
|
}
|
|
6341
6357
|
}
|
|
@@ -36194,6 +36210,7 @@ img.ProseMirror-separator {
|
|
|
36194
36210
|
this.selectDeleteSupport.removeIfAddedRow = (row) => this.editableSupport.removeIfAddedRow(row);
|
|
36195
36211
|
}
|
|
36196
36212
|
setGridData(data) {
|
|
36213
|
+
GridHandlerEditableSupport.cleanUpData(data);
|
|
36197
36214
|
super.setGridData(data);
|
|
36198
36215
|
this.editableSupport.clearAddedRows();
|
|
36199
36216
|
}
|
|
@@ -36280,6 +36297,11 @@ img.ProseMirror-separator {
|
|
|
36280
36297
|
};
|
|
36281
36298
|
controlEventListener.clickAdd = () => this.createAndAddNewRow();
|
|
36282
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
|
+
}
|
|
36283
36305
|
getModifiedRows() {
|
|
36284
36306
|
var _a2;
|
|
36285
36307
|
const addedKeys = this.addedRows.map((row) => row[GRID_NEW_ROW_KEY]);
|
|
@@ -37801,6 +37823,35 @@ img.ProseMirror-separator {
|
|
|
37801
37823
|
};
|
|
37802
37824
|
}
|
|
37803
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
|
+
}
|
|
37804
37855
|
const _hoisted_1$N = {
|
|
37805
37856
|
key: 0,
|
|
37806
37857
|
class: "date-filters .bs-layout-vertical mr-16"
|
|
@@ -37859,9 +37910,10 @@ img.ProseMirror-separator {
|
|
|
37859
37910
|
if (propertyId) item.propertyId = propertyId;
|
|
37860
37911
|
emitValue();
|
|
37861
37912
|
};
|
|
37862
|
-
const setDateFilterValue = (index, value) => {
|
|
37913
|
+
const setDateFilterValue = (index, value, preset) => {
|
|
37863
37914
|
const item = dateFilterValues.value[index];
|
|
37864
37915
|
item.value = value || {};
|
|
37916
|
+
item.preset = preset;
|
|
37865
37917
|
emitValue();
|
|
37866
37918
|
};
|
|
37867
37919
|
const addDateFilter = () => {
|
|
@@ -37886,7 +37938,7 @@ img.ProseMirror-separator {
|
|
|
37886
37938
|
};
|
|
37887
37939
|
const emitValue = () => {
|
|
37888
37940
|
var _a2;
|
|
37889
|
-
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));
|
|
37890
37942
|
const and = filters.length > 0 ? andFilter(filters) : void 0;
|
|
37891
37943
|
if (((_a2 = props.modelValue) == null ? void 0 : _a2.toString()) !== (and == null ? void 0 : and.toString())) {
|
|
37892
37944
|
emit("update:modelValue", and);
|
|
@@ -37953,10 +38005,11 @@ img.ProseMirror-separator {
|
|
|
37953
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"]),
|
|
37954
38006
|
vue.createVNode(_sfc_main$1A, {
|
|
37955
38007
|
modelValue: item.value,
|
|
37956
|
-
"onUpdate:modelValue": [($event) => item.value = $event, (
|
|
38008
|
+
"onUpdate:modelValue": [($event) => item.value = $event, (value, preset) => setDateFilterValue(index, value, preset)],
|
|
37957
38009
|
presets: _ctx.presets,
|
|
38010
|
+
"time-zone": timeZoneOfFilterItem(item.propertyId),
|
|
37958
38011
|
class: "ml-4"
|
|
37959
|
-
}, null, 8, ["modelValue", "onUpdate:modelValue", "presets"])
|
|
38012
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "presets", "time-zone"])
|
|
37960
38013
|
]);
|
|
37961
38014
|
}), 128))
|
|
37962
38015
|
])) : vue.createCommentVNode("", true);
|
|
@@ -38012,12 +38065,23 @@ img.ProseMirror-separator {
|
|
|
38012
38065
|
emitUpdateModelValue();
|
|
38013
38066
|
emitSearch();
|
|
38014
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
|
+
};
|
|
38015
38072
|
vue.watch(() => props.gridPreferenceDateFilterValues, () => {
|
|
38016
38073
|
if (props.gridPreferenceDateFilterValues && props.gridPreferenceDateFilterValues.filters && props.gridPreferenceDateFilterValues.filters.length > 0) {
|
|
38017
38074
|
const filters = props.gridPreferenceDateFilterValues.filters.map((filter) => {
|
|
38018
|
-
|
|
38019
|
-
|
|
38020
|
-
|
|
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
|
+
}
|
|
38021
38085
|
}
|
|
38022
38086
|
}).filter(notNull);
|
|
38023
38087
|
if (filters.length > 0) {
|
|
@@ -72011,6 +72075,7 @@ img.ProseMirror-separator {
|
|
|
72011
72075
|
exports2.BSYesNoGroup = _sfc_main$1x;
|
|
72012
72076
|
exports2.BSYesNoSelect = _sfc_main$1V;
|
|
72013
72077
|
exports2.BetweenDateFilter = BetweenDateFilter;
|
|
72078
|
+
exports2.BetweenDateFilterWithPreset = BetweenDateFilterWithPreset;
|
|
72014
72079
|
exports2.BetweenFilter = BetweenFilter;
|
|
72015
72080
|
exports2.DEFAULT_GRID_COLUMN_WIDTH = DEFAULT_GRID_COLUMN_WIDTH;
|
|
72016
72081
|
exports2.DefaultBody = _sfc_main$h;
|
|
@@ -72057,6 +72122,7 @@ img.ProseMirror-separator {
|
|
|
72057
72122
|
exports2.closeAlarm = closeAlarm;
|
|
72058
72123
|
exports2.configureBluesea = configureBluesea;
|
|
72059
72124
|
exports2.contextMenuPluginKey = contextMenuPluginKey;
|
|
72125
|
+
exports2.convertDateRangePresetKey = convertDateRangePresetKey;
|
|
72060
72126
|
exports2.createContextMenuPlugin = createContextMenuPlugin;
|
|
72061
72127
|
exports2.createDefaultFrameContext = createDefaultFrameContext;
|
|
72062
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[];
|
package/dist/config/config.d.ts
CHANGED
|
@@ -94,6 +94,7 @@ declare class BlueseaConfig {
|
|
|
94
94
|
currentLocale: LocaleName;
|
|
95
95
|
dataLocales: LocaleName[];
|
|
96
96
|
currentDataLocale: LocaleName;
|
|
97
|
+
defaultDataLocale: LocaleName;
|
|
97
98
|
timeZone: TimeZone;
|
|
98
99
|
displayTimeZones: TimeZone[];
|
|
99
100
|
allTimeZones: TimeZone[];
|
|
@@ -117,7 +118,7 @@ declare class BlueseaConfig {
|
|
|
117
118
|
configure(options: BlueseaConfigRaw): void;
|
|
118
119
|
setLocales(locales: LocaleName[], defaultLocale: LocaleName, currentLocale: LocaleName): void;
|
|
119
120
|
setCurrentLocale(locale?: LocaleName): void;
|
|
120
|
-
setDataLocales(dataLocales: LocaleName[], currentDataLocale: LocaleName): void;
|
|
121
|
+
setDataLocales(dataLocales: LocaleName[], currentDataLocale: LocaleName, defaultDataLocale?: LocaleName): void;
|
|
121
122
|
setCurrentDataLocale(locale?: LocaleName): void;
|
|
122
123
|
getValidDisplayTimeZones(): TimeZone[];
|
|
123
124
|
resolveDisplayDateFormat(format?: string | DisplayDateResolution): string;
|
|
@@ -127,8 +128,8 @@ export type BlueseaConfigRaw = {
|
|
|
127
128
|
defaultLocale?: LocaleName;
|
|
128
129
|
currentLocale?: LocaleName;
|
|
129
130
|
dataLocales?: LocaleName[];
|
|
130
|
-
defaultDataLocale?: LocaleName;
|
|
131
131
|
currentDataLocale?: LocaleName;
|
|
132
|
+
defaultDataLocale?: LocaleName;
|
|
132
133
|
timeZone?: TimeZone;
|
|
133
134
|
displayTimeZones?: TimeZone[];
|
|
134
135
|
allTimeZones?: TimeZone[];
|