@simplysm/solid 13.0.61 → 13.0.64
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/README.md +6 -0
- package/dist/components/data/crud-detail/CrudDetail.d.ts.map +1 -1
- package/dist/components/data/crud-detail/CrudDetail.js +62 -41
- package/dist/components/data/crud-detail/CrudDetail.js.map +2 -2
- package/dist/components/data/crud-sheet/CrudSheet.d.ts.map +1 -1
- package/dist/components/data/crud-sheet/CrudSheet.js +164 -19
- package/dist/components/data/crud-sheet/CrudSheet.js.map +2 -2
- package/dist/components/data/crud-sheet/types.d.ts +9 -3
- package/dist/components/data/crud-sheet/types.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.js +3 -2
- package/dist/components/data/sheet/DataSheet.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Checkbox.js +10 -10
- package/dist/components/form-control/checkbox/Checkbox.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Checkbox.styles.js +2 -2
- package/dist/components/form-control/checkbox/Checkbox.styles.js.map +1 -1
- package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Radio.js +13 -13
- package/dist/components/form-control/checkbox/Radio.js.map +2 -2
- package/dist/components/form-control/data-select-button/DataSelectButton.d.ts +38 -0
- package/dist/components/form-control/data-select-button/DataSelectButton.d.ts.map +1 -0
- package/dist/components/form-control/data-select-button/DataSelectButton.js +184 -0
- package/dist/components/form-control/data-select-button/DataSelectButton.js.map +6 -0
- package/dist/components/form-control/select/Select.d.ts +7 -3
- package/dist/components/form-control/select/Select.d.ts.map +1 -1
- package/dist/components/form-control/select/Select.js +146 -45
- package/dist/components/form-control/select/Select.js.map +2 -2
- package/dist/components/form-control/select-list/SelectList.d.ts +54 -0
- package/dist/components/form-control/select-list/SelectList.d.ts.map +1 -0
- package/dist/components/form-control/select-list/SelectList.js +280 -0
- package/dist/components/form-control/select-list/SelectList.js.map +6 -0
- package/dist/components/form-control/select-list/SelectListContext.d.ts +13 -0
- package/dist/components/form-control/select-list/SelectListContext.d.ts.map +1 -0
- package/dist/components/form-control/select-list/SelectListContext.js +14 -0
- package/dist/components/form-control/select-list/SelectListContext.js.map +6 -0
- package/dist/components/form-control/shared-data/SharedDataSelect.d.ts +32 -0
- package/dist/components/form-control/shared-data/SharedDataSelect.d.ts.map +1 -0
- package/dist/components/form-control/shared-data/SharedDataSelect.js +74 -0
- package/dist/components/form-control/shared-data/SharedDataSelect.js.map +6 -0
- package/dist/components/form-control/shared-data/SharedDataSelectButton.d.ts +29 -0
- package/dist/components/form-control/shared-data/SharedDataSelectButton.d.ts.map +1 -0
- package/dist/components/form-control/shared-data/SharedDataSelectButton.js +17 -0
- package/dist/components/form-control/shared-data/SharedDataSelectButton.js.map +6 -0
- package/dist/components/form-control/shared-data/SharedDataSelectList.d.ts +29 -0
- package/dist/components/form-control/shared-data/SharedDataSelectList.d.ts.map +1 -0
- package/dist/components/form-control/shared-data/SharedDataSelectList.js +80 -0
- package/dist/components/form-control/shared-data/SharedDataSelectList.js.map +6 -0
- package/dist/features/address/AddressSearch.d.ts +8 -0
- package/dist/features/address/AddressSearch.d.ts.map +1 -0
- package/dist/features/address/AddressSearch.js +72 -0
- package/dist/features/address/AddressSearch.js.map +6 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/shared-data/SharedDataContext.d.ts +14 -0
- package/dist/providers/shared-data/SharedDataContext.d.ts.map +1 -1
- package/dist/providers/shared-data/SharedDataContext.js.map +1 -1
- package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
- package/dist/providers/shared-data/SharedDataProvider.js +5 -1
- package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
- package/docs/data-components.md +15 -4
- package/docs/form-controls.md +257 -0
- package/docs/hooks.md +30 -0
- package/docs/providers.md +7 -0
- package/package.json +3 -3
- package/src/components/data/crud-detail/CrudDetail.tsx +51 -26
- package/src/components/data/crud-sheet/CrudSheet.tsx +157 -20
- package/src/components/data/crud-sheet/types.ts +13 -3
- package/src/components/data/sheet/DataSheet.tsx +6 -7
- package/src/components/form-control/checkbox/Checkbox.styles.ts +2 -2
- package/src/components/form-control/checkbox/Checkbox.tsx +18 -20
- package/src/components/form-control/checkbox/Radio.tsx +18 -20
- package/src/components/form-control/data-select-button/DataSelectButton.tsx +279 -0
- package/src/components/form-control/select/Select.tsx +192 -36
- package/src/components/form-control/select-list/SelectList.tsx +385 -0
- package/src/components/form-control/select-list/SelectListContext.ts +23 -0
- package/src/components/form-control/shared-data/SharedDataSelect.tsx +101 -0
- package/src/components/form-control/shared-data/SharedDataSelectButton.tsx +47 -0
- package/src/components/form-control/shared-data/SharedDataSelectList.tsx +85 -0
- package/src/features/address/AddressSearch.tsx +75 -0
- package/src/index.ts +18 -0
- package/src/providers/shared-data/SharedDataContext.ts +14 -0
- package/src/providers/shared-data/SharedDataProvider.tsx +4 -0
package/README.md
CHANGED
|
@@ -127,6 +127,11 @@ import "@simplysm/solid/tailwind.css";
|
|
|
127
127
|
- [`DateRangePicker`](docs/form-controls.md#daterangepicker) - Date range input with period type selection (day/month/range)
|
|
128
128
|
- [`Textarea`](docs/form-controls.md#textarea) - Multi-line text input with auto-height and IME support
|
|
129
129
|
- [`Select`](docs/form-controls.md#select) - Dropdown selection with single/multiple, hierarchical items, and compound components
|
|
130
|
+
- [`SelectList`](docs/form-controls.md#selectlist) - List-style single selection with search, pagination, and slot customization
|
|
131
|
+
- [`DataSelectButton`](docs/form-controls.md#dataselectbutton) - Modal-based selection button with key-based loading
|
|
132
|
+
- [`SharedDataSelect`](docs/form-controls.md#shareddataselect) - SharedData-connected Select wrapper
|
|
133
|
+
- [`SharedDataSelectButton`](docs/form-controls.md#shareddataselectbutton) - SharedData-connected DataSelectButton wrapper
|
|
134
|
+
- [`SharedDataSelectList`](docs/form-controls.md#shareddataselectlist) - SharedData-connected SelectList wrapper
|
|
130
135
|
- [`Combobox`](docs/form-controls.md#combobox) - Autocomplete with async search and debouncing
|
|
131
136
|
- [`Checkbox`](docs/form-controls.md#checkbox--radio) / [`Radio`](docs/form-controls.md#checkbox--radio) - Checkbox and radio button
|
|
132
137
|
- [`CheckboxGroup`](docs/form-controls.md#checkboxgroup--radiogroup) / [`RadioGroup`](docs/form-controls.md#checkboxgroup--radiogroup) - Group components for multiple/single selection
|
|
@@ -198,6 +203,7 @@ import "@simplysm/solid/tailwind.css";
|
|
|
198
203
|
- [`createControllableStore`](docs/hooks.md#createcontrollablestore) - Controlled/Uncontrolled store pattern (for objects/arrays)
|
|
199
204
|
- [`createMountTransition`](docs/hooks.md#createmounttransition) - Mount/unmount CSS animation hook
|
|
200
205
|
- [`createIMEHandler`](docs/hooks.md#createimehandler) - IME composition delay handler
|
|
206
|
+
- [`createSlotSignal`](docs/hooks.md#createslotsignal) - Slot registration signal for compound components
|
|
201
207
|
- [`createTopbarActions`](docs/layout.md#topbar-actions-slot) - Register actions in nearest Topbar.Container scope
|
|
202
208
|
- [`useTopbarActionsAccessor`](docs/layout.md#topbar-actions-slot) - Direct access to topbar actions accessor
|
|
203
209
|
- [`useRouterLink`](docs/hooks.md#userouterlink) - Navigation with Ctrl/Shift+click support
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrudDetail.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\data\\crud-detail\\CrudDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,GAAG,EAKT,MAAM,UAAU,CAAC;AAoBlB,OAAO,EAAE,eAAe,EAAwB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAyB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAwB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAKV,eAAe,EAEhB,MAAM,SAAS,CAAC;AAEjB,UAAU,mBAAmB;IAC3B,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IACnE,KAAK,EAAE,OAAO,eAAe,CAAC;IAC9B,MAAM,EAAE,OAAO,gBAAgB,CAAC;IAChC,KAAK,EAAE,OAAO,eAAe,CAAC;CAC/B;
|
|
1
|
+
{"version":3,"file":"CrudDetail.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\data\\crud-detail\\CrudDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,GAAG,EAKT,MAAM,UAAU,CAAC;AAoBlB,OAAO,EAAE,eAAe,EAAwB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAyB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAwB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAKV,eAAe,EAEhB,MAAM,SAAS,CAAC;AAEjB,UAAU,mBAAmB;IAC3B,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IACnE,KAAK,EAAE,OAAO,eAAe,CAAC;IAC9B,MAAM,EAAE,OAAO,gBAAgB,CAAC;IAChC,KAAK,EAAE,OAAO,eAAe,CAAC;CAC/B;AAsUD,eAAO,MAAM,UAAU,EAAgC,mBAAmB,CAAC"}
|
|
@@ -142,6 +142,24 @@ const CrudDetailBase = (props) => {
|
|
|
142
142
|
}
|
|
143
143
|
});
|
|
144
144
|
}
|
|
145
|
+
}), _$createComponent(Show, {
|
|
146
|
+
get when() {
|
|
147
|
+
return _$memo(() => !!(canEdit() && local.toggleDelete && info() && !info().isNew))() && (local.deletable ?? true);
|
|
148
|
+
},
|
|
149
|
+
children: (_) => _$createComponent(Button, {
|
|
150
|
+
size: "lg",
|
|
151
|
+
variant: "ghost",
|
|
152
|
+
theme: "danger",
|
|
153
|
+
onClick: () => void handleToggleDelete(),
|
|
154
|
+
get children() {
|
|
155
|
+
return [_$createComponent(Icon, {
|
|
156
|
+
get icon() {
|
|
157
|
+
return info().isDeleted ? IconTrashOff : IconTrash;
|
|
158
|
+
},
|
|
159
|
+
"class": "mr-1"
|
|
160
|
+
}), _$memo(() => info().isDeleted ? "\uBCF5\uAD6C" : "\uC0AD\uC81C")];
|
|
161
|
+
}
|
|
162
|
+
})
|
|
145
163
|
}), _$createComponent(Button, {
|
|
146
164
|
size: "lg",
|
|
147
165
|
variant: "ghost",
|
|
@@ -205,60 +223,63 @@ const CrudDetailBase = (props) => {
|
|
|
205
223
|
get children() {
|
|
206
224
|
return [_$createComponent(Show, {
|
|
207
225
|
get when() {
|
|
208
|
-
return !isModal &&
|
|
226
|
+
return !isModal && !topbarCtx || defs().tools;
|
|
209
227
|
},
|
|
210
228
|
get children() {
|
|
211
229
|
var _el$ = _tmpl$();
|
|
212
230
|
_$insert(_el$, _$createComponent(Show, {
|
|
213
|
-
|
|
214
|
-
return local.submit;
|
|
215
|
-
},
|
|
231
|
+
when: !topbarCtx && !isModal,
|
|
216
232
|
get children() {
|
|
217
|
-
return _$createComponent(
|
|
233
|
+
return [_$createComponent(Show, {
|
|
234
|
+
get when() {
|
|
235
|
+
return _$memo(() => !!canEdit())() && local.submit;
|
|
236
|
+
},
|
|
237
|
+
get children() {
|
|
238
|
+
return _$createComponent(Button, {
|
|
239
|
+
size: "sm",
|
|
240
|
+
theme: "primary",
|
|
241
|
+
variant: "ghost",
|
|
242
|
+
onClick: () => formRef == null ? void 0 : formRef.requestSubmit(),
|
|
243
|
+
get children() {
|
|
244
|
+
return [_$createComponent(Icon, {
|
|
245
|
+
icon: IconDeviceFloppy,
|
|
246
|
+
"class": "mr-1"
|
|
247
|
+
}), "\uC800\uC7A5"];
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
}), _$createComponent(Show, {
|
|
252
|
+
get when() {
|
|
253
|
+
return _$memo(() => !!(canEdit() && local.toggleDelete && info() && !info().isNew))() && (local.deletable ?? true);
|
|
254
|
+
},
|
|
255
|
+
children: (_) => _$createComponent(Button, {
|
|
256
|
+
size: "sm",
|
|
257
|
+
theme: "danger",
|
|
258
|
+
variant: "ghost",
|
|
259
|
+
onClick: () => void handleToggleDelete(),
|
|
260
|
+
get children() {
|
|
261
|
+
return [_$createComponent(Icon, {
|
|
262
|
+
get icon() {
|
|
263
|
+
return info().isDeleted ? IconTrashOff : IconTrash;
|
|
264
|
+
},
|
|
265
|
+
"class": "mr-1"
|
|
266
|
+
}), _$memo(() => info().isDeleted ? "\uBCF5\uAD6C" : "\uC0AD\uC81C")];
|
|
267
|
+
}
|
|
268
|
+
})
|
|
269
|
+
}), _$createComponent(Button, {
|
|
218
270
|
size: "sm",
|
|
219
|
-
theme: "
|
|
271
|
+
theme: "info",
|
|
220
272
|
variant: "ghost",
|
|
221
|
-
onClick: () =>
|
|
273
|
+
onClick: () => void handleRefresh(),
|
|
222
274
|
get children() {
|
|
223
275
|
return [_$createComponent(Icon, {
|
|
224
|
-
icon:
|
|
276
|
+
icon: IconRefresh,
|
|
225
277
|
"class": "mr-1"
|
|
226
|
-
}), "\
|
|
278
|
+
}), "\uC0C8\uB85C\uACE0\uCE68"];
|
|
227
279
|
}
|
|
228
|
-
});
|
|
280
|
+
})];
|
|
229
281
|
}
|
|
230
282
|
}), null);
|
|
231
|
-
_$insert(_el$, _$createComponent(Button, {
|
|
232
|
-
size: "sm",
|
|
233
|
-
theme: "info",
|
|
234
|
-
variant: "ghost",
|
|
235
|
-
onClick: () => void handleRefresh(),
|
|
236
|
-
get children() {
|
|
237
|
-
return [_$createComponent(Icon, {
|
|
238
|
-
icon: IconRefresh,
|
|
239
|
-
"class": "mr-1"
|
|
240
|
-
}), "\uC0C8\uB85C\uACE0\uCE68"];
|
|
241
|
-
}
|
|
242
|
-
}), null);
|
|
243
|
-
_$insert(_el$, _$createComponent(Show, {
|
|
244
|
-
get when() {
|
|
245
|
-
return _$memo(() => !!(local.toggleDelete && info() && !info().isNew))() && (local.deletable ?? true);
|
|
246
|
-
},
|
|
247
|
-
children: (_) => _$createComponent(Button, {
|
|
248
|
-
size: "sm",
|
|
249
|
-
theme: "danger",
|
|
250
|
-
variant: "ghost",
|
|
251
|
-
onClick: () => void handleToggleDelete(),
|
|
252
|
-
get children() {
|
|
253
|
-
return [_$createComponent(Icon, {
|
|
254
|
-
get icon() {
|
|
255
|
-
return info().isDeleted ? IconTrashOff : IconTrash;
|
|
256
|
-
},
|
|
257
|
-
"class": "mr-1"
|
|
258
|
-
}), _$memo(() => info().isDeleted ? "\uBCF5\uAD6C" : "\uC0AD\uC81C")];
|
|
259
|
-
}
|
|
260
|
-
})
|
|
261
|
-
}), null);
|
|
262
283
|
_$insert(_el$, _$createComponent(Show, {
|
|
263
284
|
get when() {
|
|
264
285
|
return defs().tools;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/data/crud-detail/CrudDetail.tsx"],
|
|
4
|
-
"mappings": "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
|
|
5
|
-
"names": ["children", "createMemo", "createSignal", "onMount", "Show", "splitProps", "useContext", "reconcile", "unwrap", "createControllableStore", "objClone", "objEqual", "BusyContainer", "useNotification", "Button", "Icon", "createTopbarActions", "TopbarContext", "useDialogInstance", "Dialog", "createEventListener", "clsx", "IconCheck", "IconDeviceFloppy", "IconRefresh", "IconTrash", "IconTrashOff", "CrudDetailTools", "isCrudDetailToolsDef", "CrudDetailBefore", "isCrudDetailBeforeDef", "CrudDetailAfter", "isCrudDetailAfterDef", "CrudDetailBase", "props", "local", "_rest", "noti", "topbarCtx", "dialogInstance", "isModal", "undefined", "canEdit", "editable", "data", "setData", "value", "onChange", "onDataChange", "originalData", "info", "setInfo", "busyCount", "setBusyCount", "ready", "setReady", "formRef", "doLoad", "c", "result", "load", "err", "error", "hasChanges", "handleRefresh", "confirm", "handleSave", "submit", "currentInfo", "isNew", "success", "close", "handleFormSubmit", "e", "preventDefault", "handleToggleDelete", "toggleDelete", "del", "isDeleted", "document", "ctrlKey", "key", "requestSubmit", "altKey", "_$createComponent", "when", "_$memo", "size", "variant", "theme", "onClick", "icon", "ctx", "busy", "save", "refresh", "rendered", "defs", "arr", "toArray", "tools", "find", "before", "after", "formContent", "filter", "el", "Action", "class", "_el$", "_tmpl$", "_$insert", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["children", "createMemo", "createSignal", "onMount", "Show", "splitProps", "useContext", "reconcile", "unwrap", "createControllableStore", "objClone", "objEqual", "BusyContainer", "useNotification", "Button", "Icon", "createTopbarActions", "TopbarContext", "useDialogInstance", "Dialog", "createEventListener", "clsx", "IconCheck", "IconDeviceFloppy", "IconRefresh", "IconTrash", "IconTrashOff", "CrudDetailTools", "isCrudDetailToolsDef", "CrudDetailBefore", "isCrudDetailBeforeDef", "CrudDetailAfter", "isCrudDetailAfterDef", "CrudDetailBase", "props", "local", "_rest", "noti", "topbarCtx", "dialogInstance", "isModal", "undefined", "canEdit", "editable", "data", "setData", "value", "onChange", "onDataChange", "originalData", "info", "setInfo", "busyCount", "setBusyCount", "ready", "setReady", "formRef", "doLoad", "c", "result", "load", "err", "error", "hasChanges", "handleRefresh", "confirm", "handleSave", "submit", "currentInfo", "isNew", "success", "close", "handleFormSubmit", "e", "preventDefault", "handleToggleDelete", "toggleDelete", "del", "isDeleted", "document", "ctrlKey", "key", "requestSubmit", "altKey", "_$createComponent", "when", "_$memo", "size", "variant", "theme", "onClick", "icon", "deletable", "_", "ctx", "busy", "save", "refresh", "rendered", "defs", "arr", "toArray", "tools", "find", "before", "after", "formContent", "filter", "el", "Action", "class", "_el$", "_tmpl$", "_$insert", "toolsDef", "beforeDef", "_el$2", "_tmpl$2", "addEventListener", "_ref$", "_$use", "lastModifiedAt", "_el$5", "_tmpl$4", "_el$6", "firstChild", "toFormatString", "lastModifiedBy", "afterDef", "_el$3", "_tmpl$3", "_el$4", "CrudDetail", "Tools", "Before", "After"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrudSheet.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\data\\crud-sheet\\CrudSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,GAAG,EAIT,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"CrudSheet.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\data\\crud-sheet\\CrudSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,GAAG,EAIT,MAAM,UAAU,CAAC;AAKlB,OAAO,uBAAuB,CAAC;AA2B/B,OAAO,EAAE,eAAe,EAAwB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAwB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAwB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAKV,cAAc,EAGf,MAAM,SAAS,CAAC;AAEjB,UAAU,kBAAkB;IAC1B,CAAC,KAAK,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IACjG,MAAM,EAAE,OAAO,eAAe,CAAC;IAC/B,MAAM,EAAE,OAAO,eAAe,CAAC;IAC/B,KAAK,EAAE,OAAO,cAAc,CAAC;IAC7B,MAAM,EAAE,OAAO,eAAe,CAAC;CAChC;AAsrBD,eAAO,MAAM,SAAS,EAA+B,kBAAkB,CAAC"}
|
|
@@ -4,11 +4,11 @@ import { use as _$use } from "solid-js/web";
|
|
|
4
4
|
import { insert as _$insert } from "solid-js/web";
|
|
5
5
|
import { createComponent as _$createComponent } from "solid-js/web";
|
|
6
6
|
import { memo as _$memo } from "solid-js/web";
|
|
7
|
-
var _tmpl$ = /* @__PURE__ */ _$template(`<button class="flex items-center px-2 text-base-400 hover:text-base-600">`), _tmpl$2 = /* @__PURE__ */ _$template(`<div class="flex gap-2 p-2 pb-0">`), _tmpl$3 = /* @__PURE__ */ _$template(`<form class="flex-1 overflow-hidden p-2 pt-1">`), _tmpl$4 = /* @__PURE__ */ _$template(`<div class="flex gap-2 border-t p-2"><div class=flex-1>`), _tmpl$5 = /* @__PURE__ */ _$template(`<form class=p-2>`), _tmpl$6 = /* @__PURE__ */ _$template(`<div class="flex items-center justify-center px-1 py-0.5">`), _tmpl$7 = /* @__PURE__ */ _$template(`<div class=p-1>`), _tmpl$8 = /* @__PURE__ */ _$template(`<div class=flex-1>`);
|
|
7
|
+
var _tmpl$ = /* @__PURE__ */ _$template(`<button class="flex items-center px-2 text-base-400 hover:text-base-600">`), _tmpl$2 = /* @__PURE__ */ _$template(`<div class="flex gap-2 p-2 pb-0">`), _tmpl$3 = /* @__PURE__ */ _$template(`<form class="flex-1 overflow-hidden p-2 pt-1">`), _tmpl$4 = /* @__PURE__ */ _$template(`<div class="flex gap-2 border-t p-2"><div class=flex-1>`), _tmpl$5 = /* @__PURE__ */ _$template(`<form class=p-2>`), _tmpl$6 = /* @__PURE__ */ _$template(`<div class="flex items-center justify-center px-1 py-0.5">`), _tmpl$7 = /* @__PURE__ */ _$template(`<div class=p-1>`), _tmpl$8 = /* @__PURE__ */ _$template(`<div class=flex-1>`), _tmpl$9 = /* @__PURE__ */ _$template(`<div class="px-2 py-1 text-center">`);
|
|
8
8
|
import { children, createEffect, createMemo, createSignal, For, Show, splitProps, useContext } from "solid-js";
|
|
9
9
|
import { createStore, produce, reconcile } from "solid-js/store";
|
|
10
10
|
import { createControllableStore } from "../../../hooks/createControllableStore.js";
|
|
11
|
-
import { objClone } from "@simplysm/core-common";
|
|
11
|
+
import { objClone, objGetChainValue } from "@simplysm/core-common";
|
|
12
12
|
import "@simplysm/core-common";
|
|
13
13
|
import { DataSheet } from "../sheet/DataSheet.js";
|
|
14
14
|
import { DataSheetColumn } from "../sheet/DataSheetColumn.js";
|
|
@@ -22,6 +22,7 @@ import { useDialogInstance } from "../../disclosure/DialogInstanceContext.js";
|
|
|
22
22
|
import { Dialog } from "../../disclosure/Dialog.js";
|
|
23
23
|
import { Link } from "../../display/Link.js";
|
|
24
24
|
import { createEventListener } from "@solid-primitives/event-listener";
|
|
25
|
+
import { useBeforeLeave } from "@solidjs/router";
|
|
25
26
|
import clsx from "clsx";
|
|
26
27
|
import { IconDeviceFloppy, IconExternalLink, IconFileExcel, IconPlus, IconRefresh, IconSearch, IconTrash, IconTrashOff, IconUpload } from "@tabler/icons-solidjs";
|
|
27
28
|
import { CrudSheetColumn, isCrudSheetColumnDef } from "./CrudSheetColumn.js";
|
|
@@ -29,7 +30,7 @@ import { CrudSheetFilter, isCrudSheetFilterDef } from "./CrudSheetFilter.js";
|
|
|
29
30
|
import { CrudSheetTools, isCrudSheetToolsDef } from "./CrudSheetTools.js";
|
|
30
31
|
import { CrudSheetHeader, isCrudSheetHeaderDef } from "./CrudSheetHeader.js";
|
|
31
32
|
const CrudSheetBase = (props) => {
|
|
32
|
-
const [local, _rest] = splitProps(props, ["search", "getItemKey", "persistKey", "
|
|
33
|
+
const [local, _rest] = splitProps(props, ["search", "getItemKey", "persistKey", "editable", "itemEditable", "itemDeletable", "itemDeleted", "isItemSelectable", "lastModifiedAtProp", "lastModifiedByProp", "onSubmitted", "filterInitial", "items", "onItemsChange", "inlineEdit", "modalEdit", "excel", "selectMode", "onSelect", "hideAutoTools", "class", "children"]);
|
|
33
34
|
const noti = useNotification();
|
|
34
35
|
const topbarCtx = useContext(TopbarContext);
|
|
35
36
|
const dialogInstance = useDialogInstance();
|
|
@@ -59,10 +60,26 @@ const CrudSheetBase = (props) => {
|
|
|
59
60
|
const [busyCount, setBusyCount] = createSignal(0);
|
|
60
61
|
const [ready, setReady] = createSignal(false);
|
|
61
62
|
const [selectedItems, setSelectedItems] = createSignal([]);
|
|
63
|
+
const [selectedKeys, setSelectedKeys] = createSignal(/* @__PURE__ */ new Set());
|
|
62
64
|
let formRef;
|
|
63
65
|
createEffect(() => {
|
|
64
66
|
void doRefresh();
|
|
65
67
|
});
|
|
68
|
+
createEffect(() => {
|
|
69
|
+
const currentItems = items;
|
|
70
|
+
const keys = selectedKeys();
|
|
71
|
+
if (keys.size === 0) {
|
|
72
|
+
if (selectedItems().length > 0) {
|
|
73
|
+
setSelectedItems([]);
|
|
74
|
+
}
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const restored = currentItems.filter((item) => {
|
|
78
|
+
const key = local.getItemKey(item);
|
|
79
|
+
return key != null && keys.has(key);
|
|
80
|
+
});
|
|
81
|
+
setSelectedItems(restored);
|
|
82
|
+
});
|
|
66
83
|
async function doRefresh() {
|
|
67
84
|
setBusyCount((c) => c + 1);
|
|
68
85
|
try {
|
|
@@ -74,23 +91,30 @@ const CrudSheetBase = (props) => {
|
|
|
74
91
|
setReady(true);
|
|
75
92
|
}
|
|
76
93
|
async function refresh() {
|
|
77
|
-
const
|
|
78
|
-
const result = await local.search(lastFilter(), usePagination ? page() : 0, sorts());
|
|
94
|
+
const result = await local.search(lastFilter(), page(), sorts());
|
|
79
95
|
setItems(reconcile(result.items));
|
|
80
96
|
originalItems = objClone(result.items);
|
|
81
97
|
setTotalPageCount(result.pageCount ?? 0);
|
|
82
98
|
}
|
|
83
99
|
function getItemDiffs() {
|
|
84
|
-
|
|
85
|
-
|
|
100
|
+
var _a;
|
|
101
|
+
return items.oneWayDiffs(originalItems, (item) => local.getItemKey(item), {
|
|
102
|
+
excludes: (_a = local.inlineEdit) == null ? void 0 : _a.diffsExcludes
|
|
86
103
|
});
|
|
87
104
|
}
|
|
105
|
+
function checkIgnoreChanges() {
|
|
106
|
+
if (!local.inlineEdit) return true;
|
|
107
|
+
if (getItemDiffs().length === 0) return true;
|
|
108
|
+
return confirm("\uBCC0\uACBD\uC0AC\uD56D\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBB34\uC2DC\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?");
|
|
109
|
+
}
|
|
88
110
|
function handleFilterSubmit(e) {
|
|
89
111
|
e.preventDefault();
|
|
112
|
+
if (!checkIgnoreChanges()) return;
|
|
90
113
|
setPage(1);
|
|
91
114
|
setLastFilter(() => objClone(filter));
|
|
92
115
|
}
|
|
93
116
|
async function handleRefresh() {
|
|
117
|
+
if (!checkIgnoreChanges()) return;
|
|
94
118
|
await doRefresh();
|
|
95
119
|
}
|
|
96
120
|
function handleAddRow() {
|
|
@@ -113,6 +137,7 @@ const CrudSheetBase = (props) => {
|
|
|
113
137
|
setItems(index, dp, !item[dp]);
|
|
114
138
|
}
|
|
115
139
|
async function handleSave() {
|
|
140
|
+
var _a;
|
|
116
141
|
if (busyCount() > 0) return;
|
|
117
142
|
if (!canEdit()) return;
|
|
118
143
|
if (!local.inlineEdit) return;
|
|
@@ -126,6 +151,7 @@ const CrudSheetBase = (props) => {
|
|
|
126
151
|
await local.inlineEdit.submit(diffs);
|
|
127
152
|
noti.success("\uC800\uC7A5 \uC644\uB8CC", "\uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4.");
|
|
128
153
|
await refresh();
|
|
154
|
+
(_a = local.onSubmitted) == null ? void 0 : _a.call(local);
|
|
129
155
|
} catch (err) {
|
|
130
156
|
noti.error(err, "\uC800\uC7A5 \uC2E4\uD328");
|
|
131
157
|
}
|
|
@@ -161,11 +187,25 @@ const CrudSheetBase = (props) => {
|
|
|
161
187
|
}
|
|
162
188
|
setBusyCount((c) => c - 1);
|
|
163
189
|
}
|
|
190
|
+
async function handleRestoreItems() {
|
|
191
|
+
var _a;
|
|
192
|
+
if (!((_a = local.modalEdit) == null ? void 0 : _a.restoreItems)) return;
|
|
193
|
+
const result = await local.modalEdit.restoreItems(selectedItems());
|
|
194
|
+
if (!result) return;
|
|
195
|
+
setBusyCount((c) => c + 1);
|
|
196
|
+
try {
|
|
197
|
+
await refresh();
|
|
198
|
+
noti.success("\uBCF5\uAD6C \uC644\uB8CC", "\uBCF5\uAD6C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.");
|
|
199
|
+
} catch (err) {
|
|
200
|
+
noti.error(err, "\uBCF5\uAD6C \uC2E4\uD328");
|
|
201
|
+
}
|
|
202
|
+
setBusyCount((c) => c - 1);
|
|
203
|
+
}
|
|
164
204
|
async function handleExcelDownload() {
|
|
165
205
|
if (!local.excel) return;
|
|
166
206
|
setBusyCount((c) => c + 1);
|
|
167
207
|
try {
|
|
168
|
-
const result = await local.search(lastFilter(), 0, sorts());
|
|
208
|
+
const result = await local.search(lastFilter(), void 0, sorts());
|
|
169
209
|
await local.excel.download(result.items);
|
|
170
210
|
} catch (err) {
|
|
171
211
|
noti.error(err, "\uC5D1\uC140 \uB2E4\uC6B4\uB85C\uB4DC \uC2E4\uD328");
|
|
@@ -194,15 +234,44 @@ const CrudSheetBase = (props) => {
|
|
|
194
234
|
};
|
|
195
235
|
input.click();
|
|
196
236
|
}
|
|
237
|
+
function handleSelectedItemsChange(newSelectedItems) {
|
|
238
|
+
const currentItems = items;
|
|
239
|
+
const currentKeys = /* @__PURE__ */ new Set();
|
|
240
|
+
for (const item of currentItems) {
|
|
241
|
+
const key = local.getItemKey(item);
|
|
242
|
+
if (key != null) currentKeys.add(key);
|
|
243
|
+
}
|
|
244
|
+
const newSelectedKeys = /* @__PURE__ */ new Set();
|
|
245
|
+
for (const item of newSelectedItems) {
|
|
246
|
+
const key = local.getItemKey(item);
|
|
247
|
+
if (key != null) newSelectedKeys.add(key);
|
|
248
|
+
}
|
|
249
|
+
const merged = /* @__PURE__ */ new Set();
|
|
250
|
+
for (const key of selectedKeys()) {
|
|
251
|
+
if (!currentKeys.has(key)) {
|
|
252
|
+
merged.add(key);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
for (const key of newSelectedKeys) {
|
|
256
|
+
merged.add(key);
|
|
257
|
+
}
|
|
258
|
+
setSelectedKeys(merged);
|
|
259
|
+
setSelectedItems(newSelectedItems);
|
|
260
|
+
}
|
|
261
|
+
function clearSelection() {
|
|
262
|
+
setSelectedKeys(/* @__PURE__ */ new Set());
|
|
263
|
+
setSelectedItems([]);
|
|
264
|
+
}
|
|
197
265
|
function handleSelectConfirm() {
|
|
198
266
|
var _a;
|
|
199
267
|
(_a = local.onSelect) == null ? void 0 : _a.call(local, {
|
|
200
268
|
items: selectedItems(),
|
|
201
|
-
keys:
|
|
269
|
+
keys: [...selectedKeys()]
|
|
202
270
|
});
|
|
203
271
|
}
|
|
204
272
|
function handleSelectCancel() {
|
|
205
273
|
var _a;
|
|
274
|
+
clearSelection();
|
|
206
275
|
(_a = local.onSelect) == null ? void 0 : _a.call(local, {
|
|
207
276
|
items: [],
|
|
208
277
|
keys: []
|
|
@@ -215,9 +284,20 @@ const CrudSheetBase = (props) => {
|
|
|
215
284
|
}
|
|
216
285
|
if (e.ctrlKey && e.altKey && e.key === "l") {
|
|
217
286
|
e.preventDefault();
|
|
287
|
+
if (!checkIgnoreChanges()) return;
|
|
218
288
|
await doRefresh();
|
|
219
289
|
}
|
|
220
290
|
});
|
|
291
|
+
if (!isModal && local.inlineEdit) {
|
|
292
|
+
try {
|
|
293
|
+
useBeforeLeave((e) => {
|
|
294
|
+
if (!checkIgnoreChanges()) {
|
|
295
|
+
e.preventDefault();
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
} catch {
|
|
299
|
+
}
|
|
300
|
+
}
|
|
221
301
|
if (topbarCtx) {
|
|
222
302
|
createTopbarActions(() => [_$createComponent(Show, {
|
|
223
303
|
get when() {
|
|
@@ -266,7 +346,8 @@ const CrudSheetBase = (props) => {
|
|
|
266
346
|
},
|
|
267
347
|
addItem: handleAddRow,
|
|
268
348
|
setPage,
|
|
269
|
-
setSorts
|
|
349
|
+
setSorts,
|
|
350
|
+
clearSelection
|
|
270
351
|
};
|
|
271
352
|
const deleteProp = () => {
|
|
272
353
|
var _a;
|
|
@@ -432,8 +513,8 @@ const CrudSheetBase = (props) => {
|
|
|
432
513
|
onClick: handleDeleteItems,
|
|
433
514
|
get disabled() {
|
|
434
515
|
return selectedItems().length === 0 || !selectedItems().some((item) => {
|
|
435
|
-
var _a;
|
|
436
|
-
return ((_a = local.itemDeletable) == null ? void 0 : _a.call(local, item)) ?? true;
|
|
516
|
+
var _a, _b;
|
|
517
|
+
return (((_a = local.itemDeletable) == null ? void 0 : _a.call(local, item)) ?? true) && !(((_b = local.itemDeleted) == null ? void 0 : _b.call(local, item)) ?? false);
|
|
437
518
|
});
|
|
438
519
|
},
|
|
439
520
|
get children() {
|
|
@@ -444,6 +525,31 @@ const CrudSheetBase = (props) => {
|
|
|
444
525
|
}
|
|
445
526
|
});
|
|
446
527
|
}
|
|
528
|
+
}), _$createComponent(Show, {
|
|
529
|
+
get when() {
|
|
530
|
+
var _a;
|
|
531
|
+
return _$memo(() => !!canEdit())() && ((_a = local.modalEdit) == null ? void 0 : _a.restoreItems);
|
|
532
|
+
},
|
|
533
|
+
get children() {
|
|
534
|
+
return _$createComponent(Button, {
|
|
535
|
+
size: "sm",
|
|
536
|
+
theme: "warning",
|
|
537
|
+
variant: "ghost",
|
|
538
|
+
onClick: handleRestoreItems,
|
|
539
|
+
get disabled() {
|
|
540
|
+
return selectedItems().length === 0 || !selectedItems().some((item) => {
|
|
541
|
+
var _a;
|
|
542
|
+
return ((_a = local.itemDeleted) == null ? void 0 : _a.call(local, item)) ?? false;
|
|
543
|
+
});
|
|
544
|
+
},
|
|
545
|
+
get children() {
|
|
546
|
+
return [_$createComponent(Icon, {
|
|
547
|
+
icon: IconTrashOff,
|
|
548
|
+
"class": "mr-1"
|
|
549
|
+
}), "\uC120\uD0DD \uBCF5\uAD6C"];
|
|
550
|
+
}
|
|
551
|
+
});
|
|
552
|
+
}
|
|
447
553
|
}), _$createComponent(Show, {
|
|
448
554
|
get when() {
|
|
449
555
|
var _a;
|
|
@@ -504,27 +610,27 @@ const CrudSheetBase = (props) => {
|
|
|
504
610
|
return _$memo(() => local.persistKey != null)() ? `${local.persistKey}-sheet` : void 0;
|
|
505
611
|
},
|
|
506
612
|
get page() {
|
|
507
|
-
return _$memo(() =>
|
|
613
|
+
return _$memo(() => totalPageCount() > 0)() ? page() : void 0;
|
|
508
614
|
},
|
|
509
615
|
onPageChange: setPage,
|
|
510
616
|
get totalPageCount() {
|
|
511
617
|
return totalPageCount();
|
|
512
618
|
},
|
|
513
|
-
get itemsPerPage() {
|
|
514
|
-
return local.itemsPerPage;
|
|
515
|
-
},
|
|
516
619
|
get sorts() {
|
|
517
620
|
return sorts();
|
|
518
621
|
},
|
|
519
622
|
onSortsChange: setSorts,
|
|
623
|
+
get isItemSelectable() {
|
|
624
|
+
return local.isItemSelectable;
|
|
625
|
+
},
|
|
520
626
|
get selectMode() {
|
|
521
|
-
var _a;
|
|
522
|
-
return _$memo(() => !!isSelectMode())() ? local.selectMode : ((_a = local.modalEdit) == null ? void 0 : _a.deleteItems) != null ? "multiple" : void 0;
|
|
627
|
+
var _a, _b;
|
|
628
|
+
return _$memo(() => !!isSelectMode())() ? local.selectMode : ((_a = local.modalEdit) == null ? void 0 : _a.deleteItems) != null || ((_b = local.modalEdit) == null ? void 0 : _b.restoreItems) != null ? "multiple" : void 0;
|
|
523
629
|
},
|
|
524
630
|
get selectedItems() {
|
|
525
631
|
return selectedItems();
|
|
526
632
|
},
|
|
527
|
-
onSelectedItemsChange:
|
|
633
|
+
onSelectedItemsChange: handleSelectedItemsChange,
|
|
528
634
|
get autoSelect() {
|
|
529
635
|
return isSelectMode() && local.selectMode === "single" ? "click" : void 0;
|
|
530
636
|
},
|
|
@@ -647,6 +753,45 @@ const CrudSheetBase = (props) => {
|
|
|
647
753
|
return col.cell(crudCtx);
|
|
648
754
|
}
|
|
649
755
|
})
|
|
756
|
+
}), _$createComponent(Show, {
|
|
757
|
+
get when() {
|
|
758
|
+
return local.lastModifiedAtProp;
|
|
759
|
+
},
|
|
760
|
+
get children() {
|
|
761
|
+
return _$createComponent(DataSheetColumn, {
|
|
762
|
+
get key() {
|
|
763
|
+
return local.lastModifiedAtProp;
|
|
764
|
+
},
|
|
765
|
+
header: "\uC218\uC815\uC77C\uC2DC",
|
|
766
|
+
hidden: true,
|
|
767
|
+
children: (dsCtx) => (() => {
|
|
768
|
+
var _el$1 = _tmpl$9();
|
|
769
|
+
_$insert(_el$1, () => {
|
|
770
|
+
var _a;
|
|
771
|
+
return (_a = objGetChainValue(dsCtx.item, local.lastModifiedAtProp, true)) == null ? void 0 : _a.toFormatString("yyyy-MM-dd HH:mm");
|
|
772
|
+
});
|
|
773
|
+
return _el$1;
|
|
774
|
+
})()
|
|
775
|
+
});
|
|
776
|
+
}
|
|
777
|
+
}), _$createComponent(Show, {
|
|
778
|
+
get when() {
|
|
779
|
+
return local.lastModifiedByProp;
|
|
780
|
+
},
|
|
781
|
+
get children() {
|
|
782
|
+
return _$createComponent(DataSheetColumn, {
|
|
783
|
+
get key() {
|
|
784
|
+
return local.lastModifiedByProp;
|
|
785
|
+
},
|
|
786
|
+
header: "\uC218\uC815\uC790",
|
|
787
|
+
hidden: true,
|
|
788
|
+
children: (dsCtx) => (() => {
|
|
789
|
+
var _el$10 = _tmpl$9();
|
|
790
|
+
_$insert(_el$10, () => objGetChainValue(dsCtx.item, local.lastModifiedByProp, true));
|
|
791
|
+
return _el$10;
|
|
792
|
+
})()
|
|
793
|
+
});
|
|
794
|
+
}
|
|
650
795
|
})];
|
|
651
796
|
}
|
|
652
797
|
}));
|