quasar-ui-danx 0.4.14 → 0.4.16
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/danx.es.js +778 -773
- package/dist/danx.es.js.map +1 -1
- package/dist/danx.umd.js +38 -38
- package/dist/danx.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/helpers/actions.ts +21 -1
- package/src/helpers/formats.ts +1 -1
- package/src/helpers/objectStore.ts +6 -4
package/package.json
CHANGED
package/src/helpers/actions.ts
CHANGED
@@ -14,6 +14,25 @@ export const activeActionVnode: Ref = shallowRef(null);
|
|
14
14
|
export function useActions(actions: ActionOptions[], globalOptions: Partial<ActionOptions> | null = null) {
|
15
15
|
const namespace = uid();
|
16
16
|
|
17
|
+
/**
|
18
|
+
* Extend an action so the base action can be modified without affecting other places the action is used.
|
19
|
+
* This isolates the action to the provided id, so it is still re-usable across the system, but does not affect behavior elsewhere.
|
20
|
+
*
|
21
|
+
* For example, when you have a list of items and you want to perform a callback on the action on a single item, you can extend the action
|
22
|
+
* with the id of the item you want to perform the action on, allowing you to perform behavior on a single item, instead of all instances
|
23
|
+
* in the list receiving the same callback.
|
24
|
+
*/
|
25
|
+
function extendAction(actionName: string, extendedId: string | number, actionOptions: Partial<ActionOptions>): ResourceAction {
|
26
|
+
const action = getAction(actionName);
|
27
|
+
const extendedAction = { ...action, ...actionOptions, id: extendedId };
|
28
|
+
if (extendedAction.debounce) {
|
29
|
+
extendedAction.trigger = useDebounceFn((target, input) => performAction(extendedAction, target, input), extendedAction.debounce);
|
30
|
+
} else {
|
31
|
+
extendedAction.trigger = (target, input) => performAction(extendedAction, target, input);
|
32
|
+
}
|
33
|
+
return storeObject(extendedAction);
|
34
|
+
}
|
35
|
+
|
17
36
|
/**
|
18
37
|
* Resolve the action object based on the provided name (or return the object if the name is already an object)
|
19
38
|
*/
|
@@ -140,7 +159,8 @@ export function useActions(actions: ActionOptions[], globalOptions: Partial<Acti
|
|
140
159
|
|
141
160
|
return {
|
142
161
|
getAction,
|
143
|
-
getActions
|
162
|
+
getActions,
|
163
|
+
extendAction
|
144
164
|
};
|
145
165
|
}
|
146
166
|
|
package/src/helpers/formats.ts
CHANGED
@@ -375,7 +375,7 @@ export function fMarkdownCode(type: string, string: string | object): string {
|
|
375
375
|
if (typeof string === "object" || isJSON(string)) {
|
376
376
|
switch (type) {
|
377
377
|
case "yaml":
|
378
|
-
string = stringifyYAML(string);
|
378
|
+
string = stringifyYAML(typeof string === "string" ? JSON.parse(string) : string);
|
379
379
|
break;
|
380
380
|
case "ts":
|
381
381
|
string = "";
|
@@ -9,8 +9,8 @@ const store = new Map<string, any>();
|
|
9
9
|
* Returns the stored object that should be used instead of the passed object as the returned object is shared across the system
|
10
10
|
*/
|
11
11
|
export function storeObject<T extends TypedObject>(newObject: T): ShallowReactive<T> {
|
12
|
-
const id = newObject
|
13
|
-
const type = newObject
|
12
|
+
const id = newObject?.id || newObject?.name;
|
13
|
+
const type = newObject?.__type;
|
14
14
|
if (!id || !type) return shallowReactive(newObject);
|
15
15
|
|
16
16
|
if (!newObject.__id) {
|
@@ -34,9 +34,11 @@ export function storeObject<T extends TypedObject>(newObject: T): ShallowReactiv
|
|
34
34
|
// Recursively store all the children of the object as well
|
35
35
|
for (const key of Object.keys(newObject)) {
|
36
36
|
const value = newObject[key];
|
37
|
-
if (Array.isArray(value) && value.length > 0
|
37
|
+
if (Array.isArray(value) && value.length > 0) {
|
38
38
|
for (const index in value) {
|
39
|
-
|
39
|
+
if (value[index] && typeof value[index] === "object") {
|
40
|
+
newObject[key][index] = storeObject(value[index]);
|
41
|
+
}
|
40
42
|
}
|
41
43
|
} else if (value?.__type) {
|
42
44
|
// @ts-expect-error newObject[key] is guaranteed to be a TypedObject
|