react-toolkits 0.8.55 → 0.8.57

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # react-toolkits
2
2
 
3
+ ## 0.8.57
4
+
5
+ ### Patch Changes
6
+
7
+ - 26d7905: fix: clear swr cache when key is null in QueryList
8
+
9
+ ## 0.8.56
10
+
11
+ ### Patch Changes
12
+
13
+ - 225ac9c: fix: swr data not updated when game change in QueryList
14
+
3
15
  ## 0.8.55
4
16
 
5
17
  ### Patch Changes
@@ -457,3 +457,4 @@ a.finishDraft.bind(a);
457
457
  export {
458
458
  ce as p
459
459
  };
460
+ //# sourceMappingURL=immer-BLf7GM7E.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"immer-BLf7GM7E.chunk.js","sources":["../../../node_modules/.pnpm/immer@10.0.3/node_modules/immer/dist/immer.mjs"],"sourcesContent":["// src/utils/env.ts\nvar NOTHING = Symbol.for(\"immer-nothing\");\nvar DRAFTABLE = Symbol.for(\"immer-draftable\");\nvar DRAFT_STATE = Symbol.for(\"immer-state\");\n\n// src/utils/errors.ts\nvar errors = process.env.NODE_ENV !== \"production\" ? [\n // All error codes, starting by 0:\n function(plugin) {\n return `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`;\n },\n function(thing) {\n return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`;\n },\n \"This object has been frozen and should not be mutated\",\n function(data) {\n return \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" + data;\n },\n \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n \"Immer forbids circular references\",\n \"The first or second argument to `produce` must be a function\",\n \"The third argument to `produce` must be a function or undefined\",\n \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n function(thing) {\n return `'current' expects a draft, got: ${thing}`;\n },\n \"Object.defineProperty() cannot be used on an Immer draft\",\n \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n \"Immer only supports deleting array indices\",\n \"Immer only supports setting array indices and the 'length' property\",\n function(thing) {\n return `'original' expects a draft, got: ${thing}`;\n }\n // Note: if more errors are added, the errorOffset in Patches.ts should be increased\n // See Patches.ts for additional errors\n] : [];\nfunction die(error, ...args) {\n if (process.env.NODE_ENV !== \"production\") {\n const e = errors[error];\n const msg = typeof e === \"function\" ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n}\n\n// src/utils/common.ts\nvar getPrototypeOf = Object.getPrototypeOf;\nfunction isDraft(value) {\n return !!value && !!value[DRAFT_STATE];\n}\nfunction isDraftable(value) {\n if (!value)\n return false;\n return isPlainObject(value) || Array.isArray(value) || !!value[DRAFTABLE] || !!value.constructor?.[DRAFTABLE] || isMap(value) || isSet(value);\n}\nvar objectCtorString = Object.prototype.constructor.toString();\nfunction isPlainObject(value) {\n if (!value || typeof value !== \"object\")\n return false;\n const proto = getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n const Ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n if (Ctor === Object)\n return true;\n return typeof Ctor == \"function\" && Function.toString.call(Ctor) === objectCtorString;\n}\nfunction original(value) {\n if (!isDraft(value))\n die(15, value);\n return value[DRAFT_STATE].base_;\n}\nfunction each(obj, iter) {\n if (getArchtype(obj) === 0 /* Object */) {\n Object.entries(obj).forEach(([key, value]) => {\n iter(key, value, obj);\n });\n } else {\n obj.forEach((entry, index) => iter(index, entry, obj));\n }\n}\nfunction getArchtype(thing) {\n const state = thing[DRAFT_STATE];\n return state ? state.type_ : Array.isArray(thing) ? 1 /* Array */ : isMap(thing) ? 2 /* Map */ : isSet(thing) ? 3 /* Set */ : 0 /* Object */;\n}\nfunction has(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n}\nfunction get(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.get(prop) : thing[prop];\n}\nfunction set(thing, propOrOldValue, value) {\n const t = getArchtype(thing);\n if (t === 2 /* Map */)\n thing.set(propOrOldValue, value);\n else if (t === 3 /* Set */) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n}\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\nfunction isMap(target) {\n return target instanceof Map;\n}\nfunction isSet(target) {\n return target instanceof Set;\n}\nfunction latest(state) {\n return state.copy_ || state.base_;\n}\nfunction shallowCopy(base, strict) {\n if (isMap(base)) {\n return new Map(base);\n }\n if (isSet(base)) {\n return new Set(base);\n }\n if (Array.isArray(base))\n return Array.prototype.slice.call(base);\n if (!strict && isPlainObject(base)) {\n if (!getPrototypeOf(base)) {\n const obj = /* @__PURE__ */ Object.create(null);\n return Object.assign(obj, base);\n }\n return { ...base };\n }\n const descriptors = Object.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc.writable === false) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n configurable: true,\n writable: true,\n // could live with !!desc.set as well here...\n enumerable: desc.enumerable,\n value: base[key]\n };\n }\n return Object.create(getPrototypeOf(base), descriptors);\n}\nfunction freeze(obj, deep = false) {\n if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj))\n return obj;\n if (getArchtype(obj) > 1) {\n obj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections;\n }\n Object.freeze(obj);\n if (deep)\n each(obj, (_key, value) => freeze(value, true), true);\n return obj;\n}\nfunction dontMutateFrozenCollections() {\n die(2);\n}\nfunction isFrozen(obj) {\n return Object.isFrozen(obj);\n}\n\n// src/utils/plugins.ts\nvar plugins = {};\nfunction getPlugin(pluginKey) {\n const plugin = plugins[pluginKey];\n if (!plugin) {\n die(0, pluginKey);\n }\n return plugin;\n}\nfunction loadPlugin(pluginKey, implementation) {\n if (!plugins[pluginKey])\n plugins[pluginKey] = implementation;\n}\n\n// src/core/scope.ts\nvar currentScope;\nfunction getCurrentScope() {\n return currentScope;\n}\nfunction createScope(parent_, immer_) {\n return {\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0\n };\n}\nfunction usePatchesInScope(scope, patchListener) {\n if (patchListener) {\n getPlugin(\"Patches\");\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n}\nfunction revokeScope(scope) {\n leaveScope(scope);\n scope.drafts_.forEach(revokeDraft);\n scope.drafts_ = null;\n}\nfunction leaveScope(scope) {\n if (scope === currentScope) {\n currentScope = scope.parent_;\n }\n}\nfunction enterScope(immer2) {\n return currentScope = createScope(currentScope, immer2);\n}\nfunction revokeDraft(draft) {\n const state = draft[DRAFT_STATE];\n if (state.type_ === 0 /* Object */ || state.type_ === 1 /* Array */)\n state.revoke_();\n else\n state.revoked_ = true;\n}\n\n// src/core/finalize.ts\nfunction processResult(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified_) {\n revokeScope(scope);\n die(4);\n }\n if (isDraftable(result)) {\n result = finalize(scope, result);\n if (!scope.parent_)\n maybeFreeze(scope, result);\n }\n if (scope.patches_) {\n getPlugin(\"Patches\").generateReplacementPatches_(\n baseDraft[DRAFT_STATE].base_,\n result,\n scope.patches_,\n scope.inversePatches_\n );\n }\n } else {\n result = finalize(scope, baseDraft, []);\n }\n revokeScope(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING ? result : void 0;\n}\nfunction finalize(rootScope, value, path) {\n if (isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n if (!state) {\n each(\n value,\n (key, childValue) => finalizeProperty(rootScope, state, value, key, childValue, path),\n true\n // See #590, don't recurse into non-enumerable of non drafted objects\n );\n return value;\n }\n if (state.scope_ !== rootScope)\n return value;\n if (!state.modified_) {\n maybeFreeze(rootScope, state.base_, true);\n return state.base_;\n }\n if (!state.finalized_) {\n state.finalized_ = true;\n state.scope_.unfinalizedDrafts_--;\n const result = state.copy_;\n let resultEach = result;\n let isSet2 = false;\n if (state.type_ === 3 /* Set */) {\n resultEach = new Set(result);\n result.clear();\n isSet2 = true;\n }\n each(\n resultEach,\n (key, childValue) => finalizeProperty(rootScope, state, result, key, childValue, path, isSet2)\n );\n maybeFreeze(rootScope, result, false);\n if (path && rootScope.patches_) {\n getPlugin(\"Patches\").generatePatches_(\n state,\n path,\n rootScope.patches_,\n rootScope.inversePatches_\n );\n }\n }\n return state.copy_;\n}\nfunction finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n if (process.env.NODE_ENV !== \"production\" && childValue === targetObject)\n die(5);\n if (isDraft(childValue)) {\n const path = rootPath && parentState && parentState.type_ !== 3 /* Set */ && // Set objects are atomic since they have no keys.\n !has(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;\n const res = finalize(rootScope, childValue, path);\n set(targetObject, prop, res);\n if (isDraft(res)) {\n rootScope.canAutoFreeze_ = false;\n } else\n return;\n } else if (targetIsSet) {\n targetObject.add(childValue);\n }\n if (isDraftable(childValue) && !isFrozen(childValue)) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return;\n }\n finalize(rootScope, childValue);\n if (!parentState || !parentState.scope_.parent_)\n maybeFreeze(rootScope, childValue);\n }\n}\nfunction maybeFreeze(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze(value, deep);\n }\n}\n\n// src/core/proxy.ts\nfunction createProxyProxy(base, parent) {\n const isArray = Array.isArray(base);\n const state = {\n type_: isArray ? 1 /* Array */ : 0 /* Object */,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned_: {},\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false\n };\n let target = state;\n let traps = objectTraps;\n if (isArray) {\n target = [state];\n traps = arrayTraps;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state.draft_ = proxy;\n state.revoke_ = revoke;\n return proxy;\n}\nvar objectTraps = {\n get(state, prop) {\n if (prop === DRAFT_STATE)\n return state;\n const source = latest(state);\n if (!has(source, prop)) {\n return readPropFromProto(state, source, prop);\n }\n const value = source[prop];\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value === peek(state.base_, prop)) {\n prepareCopy(state);\n return state.copy_[prop] = createProxy(value, state);\n }\n return value;\n },\n has(state, prop) {\n return prop in latest(state);\n },\n ownKeys(state) {\n return Reflect.ownKeys(latest(state));\n },\n set(state, prop, value) {\n const desc = getDescriptorFromProto(latest(state), prop);\n if (desc?.set) {\n desc.set.call(state.draft_, value);\n return true;\n }\n if (!state.modified_) {\n const current2 = peek(latest(state), prop);\n const currentState = current2?.[DRAFT_STATE];\n if (currentState && currentState.base_ === value) {\n state.copy_[prop] = value;\n state.assigned_[prop] = false;\n return true;\n }\n if (is(value, current2) && (value !== void 0 || has(state.base_, prop)))\n return true;\n prepareCopy(state);\n markChanged(state);\n }\n if (state.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state.copy_[prop]))\n return true;\n state.copy_[prop] = value;\n state.assigned_[prop] = true;\n return true;\n },\n deleteProperty(state, prop) {\n if (peek(state.base_, prop) !== void 0 || prop in state.base_) {\n state.assigned_[prop] = false;\n prepareCopy(state);\n markChanged(state);\n } else {\n delete state.assigned_[prop];\n }\n if (state.copy_) {\n delete state.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state, prop) {\n const owner = latest(state);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n writable: true,\n configurable: state.type_ !== 1 /* Array */ || prop !== \"length\",\n enumerable: desc.enumerable,\n value: owner[prop]\n };\n },\n defineProperty() {\n die(11);\n },\n getPrototypeOf(state) {\n return getPrototypeOf(state.base_);\n },\n setPrototypeOf() {\n die(12);\n }\n};\nvar arrayTraps = {};\neach(objectTraps, (key, fn) => {\n arrayTraps[key] = function() {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n});\narrayTraps.deleteProperty = function(state, prop) {\n if (process.env.NODE_ENV !== \"production\" && isNaN(parseInt(prop)))\n die(13);\n return arrayTraps.set.call(this, state, prop, void 0);\n};\narrayTraps.set = function(state, prop, value) {\n if (process.env.NODE_ENV !== \"production\" && prop !== \"length\" && isNaN(parseInt(prop)))\n die(14);\n return objectTraps.set.call(this, state[0], prop, value, state[0]);\n};\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE];\n const source = state ? latest(state) : draft;\n return source[prop];\n}\nfunction readPropFromProto(state, source, prop) {\n const desc = getDescriptorFromProto(source, prop);\n return desc ? `value` in desc ? desc.value : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n desc.get?.call(state.draft_)\n ) : void 0;\n}\nfunction getDescriptorFromProto(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto = getPrototypeOf(source);\n while (proto) {\n const desc = Object.getOwnPropertyDescriptor(proto, prop);\n if (desc)\n return desc;\n proto = getPrototypeOf(proto);\n }\n return void 0;\n}\nfunction markChanged(state) {\n if (!state.modified_) {\n state.modified_ = true;\n if (state.parent_) {\n markChanged(state.parent_);\n }\n }\n}\nfunction prepareCopy(state) {\n if (!state.copy_) {\n state.copy_ = shallowCopy(\n state.base_,\n state.scope_.immer_.useStrictShallowCopy_\n );\n }\n}\n\n// src/core/immerClass.ts\nvar Immer2 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n /**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\n this.produce = (base, recipe, patchListener) => {\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe;\n recipe = base;\n const self = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (typeof recipe !== \"function\")\n die(6);\n if (patchListener !== void 0 && typeof patchListener !== \"function\")\n die(7);\n let result;\n if (isDraftable(base)) {\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope(scope);\n else\n leaveScope(scope);\n }\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n } else if (!base || typeof base !== \"object\") {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING)\n result = void 0;\n if (this.autoFreeze_)\n freeze(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n patchListener(p, ip);\n }\n return result;\n } else\n die(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (typeof base === \"function\") {\n return (state, ...args) => this.produceWithPatches(state, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (typeof config?.autoFreeze === \"boolean\")\n this.setAutoFreeze(config.autoFreeze);\n if (typeof config?.useStrictShallowCopy === \"boolean\")\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n }\n createDraft(base) {\n if (!isDraftable(base))\n die(8);\n if (isDraft(base))\n base = current(base);\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n proxy[DRAFT_STATE].isManual_ = true;\n leaveScope(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state = draft && draft[DRAFT_STATE];\n if (!state || !state.isManual_)\n die(9);\n const { scope_: scope } = state;\n usePatchesInScope(scope, patchListener);\n return processResult(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin(\"Patches\").applyPatches_;\n if (isDraft(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n};\nfunction createProxy(value, parent) {\n const draft = isMap(value) ? getPlugin(\"MapSet\").proxyMap_(value, parent) : isSet(value) ? getPlugin(\"MapSet\").proxySet_(value, parent) : createProxyProxy(value, parent);\n const scope = parent ? parent.scope_ : getCurrentScope();\n scope.drafts_.push(draft);\n return draft;\n}\n\n// src/core/current.ts\nfunction current(value) {\n if (!isDraft(value))\n die(10, value);\n return currentImpl(value);\n}\nfunction currentImpl(value) {\n if (!isDraftable(value) || isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n let copy;\n if (state) {\n if (!state.modified_)\n return state.base_;\n state.finalized_ = true;\n copy = shallowCopy(value, state.scope_.immer_.useStrictShallowCopy_);\n } else {\n copy = shallowCopy(value, true);\n }\n each(copy, (key, childValue) => {\n set(copy, key, currentImpl(childValue));\n });\n if (state) {\n state.finalized_ = false;\n }\n return copy;\n}\n\n// src/plugins/patches.ts\nfunction enablePatches() {\n const errorOffset = 16;\n if (process.env.NODE_ENV !== \"production\") {\n errors.push(\n 'Sets cannot have \"replace\" patches.',\n function(op) {\n return \"Unsupported patch operation: \" + op;\n },\n function(path) {\n return \"Cannot apply patch, path doesn't resolve: \" + path;\n },\n \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n );\n }\n const REPLACE = \"replace\";\n const ADD = \"add\";\n const REMOVE = \"remove\";\n function generatePatches_(state, basePath, patches, inversePatches) {\n switch (state.type_) {\n case 0 /* Object */:\n case 2 /* Map */:\n return generatePatchesFromAssigned(\n state,\n basePath,\n patches,\n inversePatches\n );\n case 1 /* Array */:\n return generateArrayPatches(state, basePath, patches, inversePatches);\n case 3 /* Set */:\n return generateSetPatches(\n state,\n basePath,\n patches,\n inversePatches\n );\n }\n }\n function generateArrayPatches(state, basePath, patches, inversePatches) {\n let { base_, assigned_ } = state;\n let copy_ = state.copy_;\n if (copy_.length < base_.length) {\n ;\n [base_, copy_] = [copy_, base_];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let i = 0; i < base_.length; i++) {\n if (assigned_[i] && copy_[i] !== base_[i]) {\n const path = basePath.concat([i]);\n patches.push({\n op: REPLACE,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n inversePatches.push({\n op: REPLACE,\n path,\n value: clonePatchValueIfNeeded(base_[i])\n });\n }\n }\n for (let i = base_.length; i < copy_.length; i++) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n }\n for (let i = copy_.length - 1; base_.length <= i; --i) {\n const path = basePath.concat([i]);\n inversePatches.push({\n op: REMOVE,\n path\n });\n }\n }\n function generatePatchesFromAssigned(state, basePath, patches, inversePatches) {\n const { base_, copy_ } = state;\n each(state.assigned_, (key, assignedValue) => {\n const origValue = get(base_, key);\n const value = get(copy_, key);\n const op = !assignedValue ? REMOVE : has(base_, key) ? REPLACE : ADD;\n if (origValue === value && op === REPLACE)\n return;\n const path = basePath.concat(key);\n patches.push(op === REMOVE ? { op, path } : { op, path, value });\n inversePatches.push(\n op === ADD ? { op: REMOVE, path } : op === REMOVE ? { op: ADD, path, value: clonePatchValueIfNeeded(origValue) } : { op: REPLACE, path, value: clonePatchValueIfNeeded(origValue) }\n );\n });\n }\n function generateSetPatches(state, basePath, patches, inversePatches) {\n let { base_, copy_ } = state;\n let i = 0;\n base_.forEach((value) => {\n if (!copy_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: REMOVE,\n path,\n value\n });\n inversePatches.unshift({\n op: ADD,\n path,\n value\n });\n }\n i++;\n });\n i = 0;\n copy_.forEach((value) => {\n if (!base_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n value\n });\n inversePatches.unshift({\n op: REMOVE,\n path,\n value\n });\n }\n i++;\n });\n }\n function generateReplacementPatches_(baseValue, replacement, patches, inversePatches) {\n patches.push({\n op: REPLACE,\n path: [],\n value: replacement === NOTHING ? void 0 : replacement\n });\n inversePatches.push({\n op: REPLACE,\n path: [],\n value: baseValue\n });\n }\n function applyPatches_(draft, patches) {\n patches.forEach((patch) => {\n const { path, op } = patch;\n let base = draft;\n for (let i = 0; i < path.length - 1; i++) {\n const parentType = getArchtype(base);\n let p = path[i];\n if (typeof p !== \"string\" && typeof p !== \"number\") {\n p = \"\" + p;\n }\n if ((parentType === 0 /* Object */ || parentType === 1 /* Array */) && (p === \"__proto__\" || p === \"constructor\"))\n die(errorOffset + 3);\n if (typeof base === \"function\" && p === \"prototype\")\n die(errorOffset + 3);\n base = get(base, p);\n if (typeof base !== \"object\")\n die(errorOffset + 2, path.join(\"/\"));\n }\n const type = getArchtype(base);\n const value = deepClonePatchValue(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case REPLACE:\n switch (type) {\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n die(errorOffset);\n default:\n return base[key] = value;\n }\n case ADD:\n switch (type) {\n case 1 /* Array */:\n return key === \"-\" ? base.push(value) : base.splice(key, 0, value);\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n return base.add(value);\n default:\n return base[key] = value;\n }\n case REMOVE:\n switch (type) {\n case 1 /* Array */:\n return base.splice(key, 1);\n case 2 /* Map */:\n return base.delete(key);\n case 3 /* Set */:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n die(errorOffset + 1, op);\n }\n });\n return draft;\n }\n function deepClonePatchValue(obj) {\n if (!isDraftable(obj))\n return obj;\n if (Array.isArray(obj))\n return obj.map(deepClonePatchValue);\n if (isMap(obj))\n return new Map(\n Array.from(obj.entries()).map(([k, v]) => [k, deepClonePatchValue(v)])\n );\n if (isSet(obj))\n return new Set(Array.from(obj).map(deepClonePatchValue));\n const cloned = Object.create(getPrototypeOf(obj));\n for (const key in obj)\n cloned[key] = deepClonePatchValue(obj[key]);\n if (has(obj, DRAFTABLE))\n cloned[DRAFTABLE] = obj[DRAFTABLE];\n return cloned;\n }\n function clonePatchValueIfNeeded(obj) {\n if (isDraft(obj)) {\n return deepClonePatchValue(obj);\n } else\n return obj;\n }\n loadPlugin(\"Patches\", {\n applyPatches_,\n generatePatches_,\n generateReplacementPatches_\n });\n}\n\n// src/plugins/mapset.ts\nfunction enableMapSet() {\n class DraftMap extends Map {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 2 /* Map */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n assigned_: void 0,\n base_: target,\n draft_: this,\n isManual_: false,\n revoked_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(key) {\n return latest(this[DRAFT_STATE]).has(key);\n }\n set(key, value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!latest(state).has(key) || latest(state).get(key) !== value) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_.set(key, true);\n state.copy_.set(key, value);\n state.assigned_.set(key, true);\n }\n return this;\n }\n delete(key) {\n if (!this.has(key)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareMapCopy(state);\n markChanged(state);\n if (state.base_.has(key)) {\n state.assigned_.set(key, false);\n } else {\n state.assigned_.delete(key);\n }\n state.copy_.delete(key);\n return true;\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_ = /* @__PURE__ */ new Map();\n each(state.base_, (key) => {\n state.assigned_.set(key, false);\n });\n state.copy_.clear();\n }\n }\n forEach(cb, thisArg) {\n const state = this[DRAFT_STATE];\n latest(state).forEach((_value, key, _map) => {\n cb.call(thisArg, this.get(key), key, this);\n });\n }\n get(key) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n const value = latest(state).get(key);\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value !== state.base_.get(key)) {\n return value;\n }\n const draft = createProxy(value, state);\n prepareMapCopy(state);\n state.copy_.set(key, draft);\n return draft;\n }\n keys() {\n return latest(this[DRAFT_STATE]).keys();\n }\n values() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value\n };\n }\n };\n }\n entries() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value: [r.value, value]\n };\n }\n };\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.entries();\n }\n }\n function proxyMap_(target, parent) {\n return new DraftMap(target, parent);\n }\n function prepareMapCopy(state) {\n if (!state.copy_) {\n state.assigned_ = /* @__PURE__ */ new Map();\n state.copy_ = new Map(state.base_);\n }\n }\n class DraftSet extends Set {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 3 /* Set */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n base_: target,\n draft_: this,\n drafts_: /* @__PURE__ */ new Map(),\n revoked_: false,\n isManual_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!state.copy_) {\n return state.base_.has(value);\n }\n if (state.copy_.has(value))\n return true;\n if (state.drafts_.has(value) && state.copy_.has(state.drafts_.get(value)))\n return true;\n return false;\n }\n add(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!this.has(value)) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.add(value);\n }\n return this;\n }\n delete(value) {\n if (!this.has(value)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n markChanged(state);\n return state.copy_.delete(value) || (state.drafts_.has(value) ? state.copy_.delete(state.drafts_.get(value)) : (\n /* istanbul ignore next */\n false\n ));\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.clear();\n }\n }\n values() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.values();\n }\n entries() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.entries();\n }\n keys() {\n return this.values();\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.values();\n }\n forEach(cb, thisArg) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n cb.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n }\n }\n function proxySet_(target, parent) {\n return new DraftSet(target, parent);\n }\n function prepareSetCopy(state) {\n if (!state.copy_) {\n state.copy_ = /* @__PURE__ */ new Set();\n state.base_.forEach((value) => {\n if (isDraftable(value)) {\n const draft = createProxy(value, state);\n state.drafts_.set(value, draft);\n state.copy_.add(draft);\n } else {\n state.copy_.add(value);\n }\n });\n }\n }\n function assertUnrevoked(state) {\n if (state.revoked_)\n die(3, JSON.stringify(latest(state)));\n }\n loadPlugin(\"MapSet\", { proxyMap_, proxySet_ });\n}\n\n// src/immer.ts\nvar immer = new Immer2();\nvar produce = immer.produce;\nvar produceWithPatches = immer.produceWithPatches.bind(\n immer\n);\nvar setAutoFreeze = immer.setAutoFreeze.bind(immer);\nvar setUseStrictShallowCopy = immer.setUseStrictShallowCopy.bind(immer);\nvar applyPatches = immer.applyPatches.bind(immer);\nvar createDraft = immer.createDraft.bind(immer);\nvar finishDraft = immer.finishDraft.bind(immer);\nfunction castDraft(value) {\n return value;\n}\nfunction castImmutable(value) {\n return value;\n}\nexport {\n Immer2 as Immer,\n applyPatches,\n castDraft,\n castImmutable,\n createDraft,\n current,\n enableMapSet,\n enablePatches,\n finishDraft,\n freeze,\n DRAFTABLE as immerable,\n isDraft,\n isDraftable,\n NOTHING as nothing,\n original,\n produce,\n produceWithPatches,\n setAutoFreeze,\n setUseStrictShallowCopy\n};\n//# sourceMappingURL=immer.mjs.map"],"names":["NOTHING","DRAFTABLE","DRAFT_STATE","errors","plugin","thing","data","die","error","args","e","msg","getPrototypeOf","isDraft","value","isDraftable","_a","isPlainObject","isMap","isSet","objectCtorString","proto","Ctor","each","obj","iter","getArchtype","key","entry","index","state","has","prop","set","propOrOldValue","t","is","x","y","target","latest","shallowCopy","base","strict","descriptors","keys","desc","freeze","deep","isFrozen","dontMutateFrozenCollections","_key","plugins","getPlugin","pluginKey","currentScope","getCurrentScope","createScope","parent_","immer_","usePatchesInScope","scope","patchListener","revokeScope","leaveScope","revokeDraft","enterScope","immer2","draft","processResult","result","baseDraft","finalize","maybeFreeze","rootScope","path","childValue","finalizeProperty","resultEach","isSet2","parentState","targetObject","rootPath","targetIsSet","res","createProxyProxy","parent","isArray","traps","objectTraps","arrayTraps","revoke","proxy","source","readPropFromProto","peek","prepareCopy","createProxy","getDescriptorFromProto","current2","currentState","markChanged","owner","fn","Immer2","config","recipe","defaultBase","self","base2","hasError","p","ip","patches","inversePatches","current","i","patch","applyPatchesImpl","currentImpl","copy","immer","produce"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,8 +1,8 @@
1
- import { A as T, _ as R, u as j, a as b, j as e, P as h, H as z, Q as F, b as L } from "./index-cAHHsRsY.chunk.js";
1
+ import { A as T, _ as R, u as j, a as b, j as e, P as h, H as z, Q as F, b as L } from "./index-fMu_qmIK.chunk.js";
2
2
  import { App as U, Row as P, Col as E, Tag as w, Space as G, Card as D, Form as x, Input as S, Select as y } from "antd";
3
3
  import { p as I } from "./immer-BLf7GM7E.chunk.js";
4
4
  import { Link as N } from "react-router-dom";
5
- import { u as Q, a as _, b as k, c as $ } from "./index-all3W-22.chunk.js";
5
+ import { u as Q, a as _, b as k, c as $ } from "./index-dhYGEVqZ.chunk.js";
6
6
  import * as M from "react";
7
7
  import "react-dom";
8
8
  var q = { icon: { tag: "svg", attrs: { viewBox: "64 64 896 896", focusable: "false" }, children: [{ tag: "path", attrs: { d: "M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, name: "user-add", theme: "outlined" };
@@ -190,3 +190,4 @@ export {
190
190
  g as action,
191
191
  te as default
192
192
  };
193
+ //# sourceMappingURL=index-1CZUZO8E.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-1CZUZO8E.chunk.js","sources":["../../../node_modules/.pnpm/@ant-design+icons-svg@4.3.2/node_modules/@ant-design/icons-svg/es/asn/UserAddOutlined.js","../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/UserAddOutlined.js","../src/pages/permission/UserList/index.tsx"],"sourcesContent":["// This icon file is generated automatically.\nvar UserAddOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"user-add\", \"theme\": \"outlined\" };\nexport default UserAddOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport UserAddOutlinedSvg from \"@ant-design/icons-svg/es/asn/UserAddOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar UserAddOutlined = function UserAddOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: UserAddOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n UserAddOutlined.displayName = 'UserAddOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(UserAddOutlined);","import { UserAddOutlined } from '@ant-design/icons'\nimport type { TableColumnsType } from 'antd'\nimport { App, Card, Col, Form, Input, Row, Select, Space, Tag } from 'antd'\nimport { produce } from 'immer'\nimport type { FC } from 'react'\nimport { Link } from 'react-router-dom'\nimport Highlight from '../../../components/Highlight'\nimport PermissionButton from '../../../components/PermissionButton'\nimport QueryList from '../../../components/QueryList'\nimport type { UserListItem } from '../../../features/permission'\nimport { useAllRoles, useCreateUser, useRemoveUser, useUpdateUser } from '../../../features/permission'\nimport { useFormModal } from '../../../hooks/formModal'\nimport { useTranslation } from '../../../hooks/i18n'\nimport { useQueryListStore } from '../../../stores/queryList'\n\nconst { Option } = Select\n\nexport const action = '/api/usystem/user/list'\n\nfunction useCreateModal() {\n const { message } = App.useApp()\n const create = useCreateUser()\n const { data: roles, isLoading } = useAllRoles()\n const { setPayload } = useQueryListStore()\n const t = useTranslation()\n\n return useFormModal<{ id: string; name: string; roles: string[] }>({\n title: t('UserList.createTitle'),\n formProps: {\n labelCol: { flex: '80px' },\n },\n content: (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label={t('global.role')} name=\"roles\">\n <Select allowClear mode=\"multiple\" loading={isLoading}>\n {(roles ?? []).map(role => (\n <Option value={role.name} key={role.id}>\n {role.name}\n </Option>\n ))}\n </Select>\n </Form.Item>\n </>\n ),\n async onConfirm(values) {\n await create.trigger(values)\n setPayload(action, { page: 1 })\n message.success(t('UserList.createSuccessfully'))\n },\n })\n}\n\nfunction useUpdateUserModal() {\n const { message } = App.useApp()\n const update = useUpdateUser()\n const { data: roles, isLoading } = useAllRoles()\n const { mutate } = useQueryListStore()\n const t = useTranslation()\n\n return useFormModal<{ id: string; name: string; roles: string[] }, { id: string }>({\n title: t('UserList.updateTitle'),\n formProps: {\n labelCol: { flex: '80px' },\n },\n content: (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input readOnly />\n </Form.Item>\n <Form.Item label={t('global.role')} name=\"roles\">\n <Select\n allowClear\n mode=\"multiple\"\n loading={isLoading}\n options={roles?.map(role => ({\n label: role.name,\n value: role.name,\n }))}\n />\n </Form.Item>\n </>\n ),\n async onConfirm(values, extraValues) {\n await update.trigger(values)\n mutate<UserListItem>(\n action,\n prev => {\n return produce(prev, draft => {\n if (draft?.dataSource) {\n const index = draft.dataSource?.findIndex(item => item.id === extraValues?.id)\n if (index !== -1) {\n draft.dataSource[index].roles = values.roles\n }\n }\n })\n },\n { revalidate: false },\n )\n message.success(t('UserList.updateSuccessfully'))\n },\n })\n}\n\nconst UserList: FC = () => {\n const { modal, message } = App.useApp()\n const remove = useRemoveUser()\n const { mutate } = useQueryListStore()\n const { show: showCreateModal, modal: createModal } = useCreateModal()\n const { show: showUpdateModal, modal: updateModal } = useUpdateUserModal()\n const t = useTranslation()\n\n const columns: TableColumnsType<UserListItem> = [\n {\n title: t('global.name'),\n dataIndex: 'name',\n key: 'name',\n },\n {\n title: 'ID',\n dataIndex: 'id',\n key: 'id',\n },\n {\n title: t('global.role'),\n dataIndex: 'roles',\n key: 'roles',\n width: '40%',\n render(value: string[]) {\n return (\n <Row gutter={[4, 4]}>\n {(value || []).map((item: string) => (\n <Col key={item}>\n {item === 'root' ? (\n <Tag color=\"#f50\">{item}</Tag>\n ) : (\n <Tag color=\"#ff5a00\">\n <Link to={`/permission/role/${item}`}>{item}</Link>\n </Tag>\n )}\n </Col>\n ))}\n </Row>\n )\n },\n },\n {\n title: t('global.creationTime'),\n dataIndex: 'Ctime',\n key: 'ctime',\n },\n {\n title: t('global.operation'),\n width: 150,\n align: 'center',\n render: (value: UserListItem) => (\n <Space>\n <PermissionButton\n isGlobal\n size=\"small\"\n type=\"link\"\n code=\"100003\"\n onClick={() => {\n showUpdateModal({\n initialValues: {\n name: value.name,\n roles: value.roles,\n },\n extraValues: {\n id: value.id,\n },\n })\n }}\n >\n {t('global.update')}\n </PermissionButton>\n <PermissionButton\n isGlobal\n danger\n size=\"small\"\n code=\"100004\"\n type=\"link\"\n onClick={() => {\n modal.confirm({\n title: t('UserList.deleteTitle'),\n content: (\n <Highlight texts={[value.name]}>{t('UserList.deleteContent', { user: value.name })}</Highlight>\n ),\n async onOk() {\n await remove.trigger({\n id: value.id,\n name: value.name,\n })\n mutate(action, prev => {\n return produce(prev, draft => {\n const index = draft?.dataSource?.findIndex(item => item.id === value.id)\n if (index) {\n draft?.dataSource?.splice(index, 1)\n }\n })\n })\n message.success(t('UserList.deleteSuccessfully'))\n },\n })\n }}\n >\n {t('global.delete')}\n </PermissionButton>\n </Space>\n ),\n },\n ]\n\n return (\n <>\n <Card\n title={t('global.user')}\n extra={\n <PermissionButton\n isGlobal\n type=\"primary\"\n icon={<UserAddOutlined />}\n code=\"100002\"\n onClick={() => {\n showCreateModal()\n }}\n >\n {t('UserList.createTitle')}\n </PermissionButton>\n }\n >\n <QueryList<UserListItem, undefined, { List: UserListItem[]; Total: number }>\n isGlobal\n code=\"100001\"\n action={action}\n rowKey=\"id\"\n columns={columns}\n getTotal={response => response.Total}\n getDataSource={response => response.List}\n />\n </Card>\n {createModal}\n {updateModal}\n </>\n )\n}\n\nexport default UserList\n"],"names":["UserAddOutlined","UserAddOutlinedSvg","props","ref","React","AntdIcon","_extends","UserAddOutlined$1","Option","Select","action","useCreateModal","message","App","create","useCreateUser","roles","isLoading","useAllRoles","setPayload","useQueryListStore","t","useTranslation","useFormModal","jsxs","Fragment","jsx","Form","Input","role","values","useUpdateUserModal","update","useUpdateUser","mutate","extraValues","prev","produce","draft","index","_a","item","UserList","modal","remove","useRemoveUser","showCreateModal","createModal","showUpdateModal","updateModal","columns","value","Row","Col","Tag","Link","Space","PermissionButton","Highlight","_b","Card","QueryList","response"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,9 +1,9 @@
1
- import { A as T, _ as U, c as P, d as _, u as y, a as b, j as e, P as j, r as z, H as $, Q as F, b as L } from "./index-cAHHsRsY.chunk.js";
1
+ import { A as T, _ as U, c as P, d as _, u as y, a as b, j as e, P as j, r as z, H as $, Q as F, b as L } from "./index-fMu_qmIK.chunk.js";
2
2
  import { App as f, Space as G, Card as B, Form as g, Input as A } from "antd";
3
3
  import { p as k } from "./immer-BLf7GM7E.chunk.js";
4
4
  import { Link as E } from "react-router-dom";
5
- import { P as v } from "./index-XcU1kwQ3.chunk.js";
6
- import { d as q, e as D, f as N } from "./index-all3W-22.chunk.js";
5
+ import { P as v } from "./index-N6MTFW6f.chunk.js";
6
+ import { d as q, e as D, f as N } from "./index-dhYGEVqZ.chunk.js";
7
7
  import * as I from "react";
8
8
  import "react-dom";
9
9
  var Q = { icon: { tag: "svg", attrs: { viewBox: "64 64 896 896", focusable: "false" }, children: [{ tag: "path", attrs: { d: "M892 772h-80v-80c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v80h-80c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h80v80c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-80h80c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 498.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.8-1.7-203.2 89.2-203.2 200 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.8-1.1 6.4-4.8 5.9-8.8zM824 472c0-109.4-87.9-198.3-196.9-200C516.3 270.3 424 361.2 424 472c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C357 742.6 326 814.8 324 891.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 695.7 563 672 624 672c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 586.7 658.2 600 624 600s-66.3-13.3-90.5-37.5a127.26 127.26 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z" } }] }, name: "usergroup-add", theme: "outlined" };
@@ -177,3 +177,4 @@ const K = /* @__PURE__ */ I.forwardRef(M), h = "/api/usystem/role/list", J = ()
177
177
  export {
178
178
  oe as default
179
179
  };
180
+ //# sourceMappingURL=index-DfrIaJvO.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DfrIaJvO.chunk.js","sources":["../../../node_modules/.pnpm/@ant-design+icons-svg@4.3.2/node_modules/@ant-design/icons-svg/es/asn/UsergroupAddOutlined.js","../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/UsergroupAddOutlined.js","../src/pages/permission/RoleList/index.tsx"],"sourcesContent":["// This icon file is generated automatically.\nvar UsergroupAddOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M892 772h-80v-80c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v80h-80c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h80v80c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-80h80c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 498.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.8-1.7-203.2 89.2-203.2 200 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.8-1.1 6.4-4.8 5.9-8.8zM824 472c0-109.4-87.9-198.3-196.9-200C516.3 270.3 424 361.2 424 472c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C357 742.6 326 814.8 324 891.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 695.7 563 672 624 672c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 586.7 658.2 600 624 600s-66.3-13.3-90.5-37.5a127.26 127.26 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z\" } }] }, \"name\": \"usergroup-add\", \"theme\": \"outlined\" };\nexport default UsergroupAddOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport UsergroupAddOutlinedSvg from \"@ant-design/icons-svg/es/asn/UsergroupAddOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar UsergroupAddOutlined = function UsergroupAddOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: UsergroupAddOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n UsergroupAddOutlined.displayName = 'UsergroupAddOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(UsergroupAddOutlined);","import { UsergroupAddOutlined } from '@ant-design/icons'\nimport type { TableColumnsType } from 'antd'\nimport { App, Card, Form, Input, Space } from 'antd'\nimport { produce } from 'immer'\nimport { Link } from 'react-router-dom'\nimport { useToolkitsContext } from '../../../components/ContextProvider'\nimport Highlight from '../../../components/Highlight'\nimport PermissionButton from '../../../components/PermissionButton'\nimport QueryList from '../../../components/QueryList'\nimport type { RoleListItem, RoleV1, RoleV2 } from '../../../features/permission'\nimport { PermissionList, useCreateRole, useRemoveRole, useUpdateRole } from '../../../features/permission'\nimport { useFormModal } from '../../../hooks/formModal'\nimport { useTranslation } from '../../../hooks/i18n'\nimport { usePermission } from '../../../hooks/permission'\nimport { useQueryListStore } from '../../../stores/queryList'\nimport { request } from '../../../utils/request'\n\nconst action = '/api/usystem/role/list'\n\nconst useCreateModal = () => {\n const { message } = App.useApp()\n const { setPayload } = useQueryListStore()\n const create = useCreateRole()\n const t = useTranslation()\n\n const onConfirm = async (values: { name: string; permissions: RoleV1['permissions'] | RoleV2['permissions'] }) => {\n await create.trigger({\n name: `role_${values.name}`,\n permissions: values.permissions,\n })\n setPayload(action, { page: 1 })\n message.success(t('RoleList.createSuccessfully'))\n }\n\n return useFormModal<{\n name: string\n permissions: RoleV1['permissions'] | RoleV2['permissions']\n }>({\n title: t('RoleList.createTitle'),\n width: '50vw',\n formProps: {\n layout: 'vertical',\n },\n content: (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input addonBefore=\"role_\" />\n </Form.Item>\n <Form.Item name=\"permissions\">\n <PermissionList />\n </Form.Item>\n </>\n ),\n onConfirm,\n })\n}\n\nconst useUpdateModal = () => {\n const { message } = App.useApp()\n const { mutate } = useQueryListStore()\n const update = useUpdateRole()\n const t = useTranslation()\n\n return useFormModal<\n {\n name: string\n permissions: RoleV1['permissions'] | RoleV2['permissions']\n },\n {\n id: number\n }\n >({\n title: t('RoleList.updateTitle'),\n width: '50vw',\n content: (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input readOnly addonBefore=\"role_\" />\n </Form.Item>\n <Form.Item name=\"permissions\">\n <PermissionList />\n </Form.Item>\n </>\n ),\n onConfirm: async (values, extraValues) => {\n await update.trigger({\n id: extraValues?.id as number,\n name: `role_${values.name}`,\n permissions: values.permissions,\n })\n mutate(\n action,\n prev =>\n produce(prev, draft => {\n const match = draft?.dataSource?.find(item => item.id === extraValues?.id)\n\n if (match) {\n match.permissions = values.permissions\n }\n }),\n { revalidate: false },\n )\n message.success(t('RoleList.updateSuccessfully'))\n },\n })\n}\n\nconst RoleList = () => {\n const { accessible: viewable } = usePermission('200005', true)\n const { modal, message } = App.useApp()\n const { usePermissionApiV2 } = useToolkitsContext()\n const remove = useRemoveRole()\n const { mutate } = useQueryListStore()\n const { show: showCreateModal, modal: createModal } = useCreateModal()\n const { show: showUpdateModal, modal: updateModal } = useUpdateModal()\n const t = useTranslation()\n\n const columns: TableColumnsType<RoleListItem> = [\n {\n title: t('global.name'),\n key: 'name',\n render(value: RoleListItem) {\n if (viewable) {\n return (\n <Link to={`${value.name}`} relative=\"path\">\n {value.name}\n </Link>\n )\n } else {\n return <>{value.name}</>\n }\n },\n },\n {\n title: 'ID',\n dataIndex: 'id',\n key: 'id',\n },\n {\n title: t('global.creationTime'),\n dataIndex: 'ctime',\n key: 'ctime',\n },\n {\n title: t('global.operation'),\n width: 150,\n align: 'center',\n render: (value: RoleListItem) => {\n return (\n <Space size=\"small\">\n <PermissionButton\n isGlobal\n code=\"200003\"\n size=\"small\"\n type=\"link\"\n onClick={async () => {\n const { data: role } = await request<RoleV1 | RoleV2>(\n `/api/usystem/role/info${usePermissionApiV2 ? 'V2' : ''}?name=${value.name}`,\n { isGlobal: true },\n )\n showUpdateModal({\n initialValues: {\n permissions: role?.permissions,\n name: role?.name.replace(/^role_/, ''),\n },\n extraValues: {\n id: role?.id,\n },\n })\n }}\n >\n {t('global.edit')}\n </PermissionButton>\n <PermissionButton\n isGlobal\n danger\n code=\"200004\"\n size=\"small\"\n type=\"link\"\n onClick={() => {\n modal.confirm({\n title: t('RoleList.deleteTitle'),\n content: (\n <Highlight texts={[value.name]}>{t('RoleList.deleteContent', { role: value.name })}</Highlight>\n ),\n async onOk() {\n await remove.trigger({\n id: value.id,\n name: value.name,\n })\n mutate(action, prev => {\n return produce(prev, draft => {\n const index = draft?.dataSource?.findIndex(item => item.id === value.id)\n if (index) {\n draft?.dataSource?.splice(index, 1)\n }\n })\n })\n message.success(t('RoleList.deleteSuccessfully'))\n },\n })\n }}\n >\n {t('global.delete')}\n </PermissionButton>\n </Space>\n )\n },\n },\n ]\n\n return (\n <>\n <Card\n title={t('global.role')}\n extra={\n <PermissionButton\n isGlobal\n type=\"primary\"\n code=\"200002\"\n icon={<UsergroupAddOutlined />}\n onClick={() => {\n showCreateModal()\n }}\n >\n {t('RoleList.createTitle')}\n </PermissionButton>\n }\n >\n <QueryList<RoleListItem, undefined, { List: RoleListItem[]; Total: number }>\n isGlobal\n rowKey=\"name\"\n columns={columns}\n code=\"200001\"\n action={action}\n getTotal={response => response.Total}\n getDataSource={response => response.List}\n />\n </Card>\n {createModal}\n {updateModal}\n </>\n )\n}\n\nexport default RoleList\n"],"names":["UsergroupAddOutlined","UsergroupAddOutlinedSvg","props","ref","React","AntdIcon","_extends","UsergroupAddOutlined$1","action","useCreateModal","message","App","setPayload","useQueryListStore","create","useCreateRole","t","useTranslation","onConfirm","values","useFormModal","jsxs","Fragment","jsx","Form","Input","PermissionList","useUpdateModal","mutate","update","useUpdateRole","extraValues","prev","produce","draft","match","_a","item","RoleList","viewable","usePermission","modal","usePermissionApiV2","useToolkitsContext","remove","useRemoveRole","showCreateModal","createModal","showUpdateModal","updateModal","columns","value","Link","Space","PermissionButton","role","request","Highlight","index","_b","Card","QueryList","response"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,6 +1,6 @@
1
- import { a as S, j as e, d as $ } from "./index-cAHHsRsY.chunk.js";
1
+ import { a as S, j as e, d as $ } from "./index-fMu_qmIK.chunk.js";
2
2
  import { Collapse as D, Checkbox as k, Row as G, Col as _, Skeleton as T, Typography as A, Divider as w, Card as K, Space as M, Select as E, Button as N, Empty as O } from "antd";
3
- import { h as R, i as B } from "./index-all3W-22.chunk.js";
3
+ import { h as R, i as B } from "./index-dhYGEVqZ.chunk.js";
4
4
  import { useState as P, useCallback as F, useEffect as b } from "react";
5
5
  const q = (x) => {
6
6
  const { permissions: l, readonly: t, expand: d, value: a, onChange: r } = x, [m, p] = P([]), [g, u] = P({}), [c, f] = P(a ?? []), C = S(), h = F((s) => {
@@ -168,3 +168,4 @@ const q = (x) => {
168
168
  export {
169
169
  ie as P
170
170
  };
171
+ //# sourceMappingURL=index-N6MTFW6f.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-N6MTFW6f.chunk.js","sources":["../src/features/permission/components/PermissionCollapse/index.tsx","../src/features/permission/components/PermissionListV1/index.tsx","../src/features/permission/components/PermissionListV2/index.tsx","../src/features/permission/components/PermissionList/index.tsx"],"sourcesContent":["import { Checkbox, Col, Collapse, Row } from 'antd'\nimport type { CheckboxChangeEvent } from 'antd/es/checkbox'\nimport type { FC } from 'react'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useTranslation } from '../../../../hooks/i18n'\nimport type { PermissionEnumItem } from '../../types'\n\ninterface PermissionCollapseProps {\n expand?: boolean\n permissions?: PermissionEnumItem[]\n readonly?: boolean\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\nconst PermissionCollapse: FC<PermissionCollapseProps> = props => {\n const { permissions, readonly, expand, value, onChange } = props\n const [activeKey, setActiveKey] = useState<string[]>([])\n const [checkedMap, setCheckedMap] = useState<Record<string, boolean>>({})\n const [internalValue, setInternalValue] = useState<string[]>(value ?? [])\n const t = useTranslation()\n\n const onCollapseChange = useCallback((key: string | string[]) => {\n setActiveKey(key as string[])\n }, [])\n\n const getCheckedValue = (checkedValue: boolean, codes: string[]) => {\n let tempValue: string[] = []\n\n if (checkedValue) {\n tempValue = [...new Set(internalValue.concat(codes))]\n } else {\n tempValue = internalValue.slice()\n\n codes.forEach(code => {\n const index = tempValue.findIndex(item => item === code)\n if (index > -1) {\n tempValue.splice(index, 1)\n }\n })\n }\n\n return tempValue\n }\n\n const onCheckChange = (e: CheckboxChangeEvent, codes: string[]) => {\n const checkedValue = getCheckedValue(e.target.checked, codes)\n setInternalValue(checkedValue)\n onChange?.(checkedValue)\n }\n\n useEffect(() => {\n setInternalValue(value ?? [])\n }, [value])\n\n useEffect(() => {\n if (expand) {\n setActiveKey((permissions ?? []).map(({ category }) => category))\n }\n }, [expand, permissions])\n\n useEffect(() => {\n const checkedValue = (permissions ?? []).reduce(\n (acc, curr) => {\n acc[curr.category] = curr.permissions.every(item => internalValue?.includes(item.value))\n return acc\n },\n {} as Record<string, boolean>,\n )\n\n setCheckedMap(checkedValue)\n }, [internalValue, permissions])\n\n return (\n <Collapse\n style={{ width: '100%' }}\n collapsible=\"header\"\n activeKey={activeKey}\n items={(permissions ?? []).map(item => ({\n key: item.category,\n label: item.category,\n extra: !readonly && (\n <Checkbox\n checked={checkedMap[item.category]}\n onChange={e => {\n onCheckChange(\n e,\n item.permissions.map(permission => permission.value),\n )\n }}\n >\n {t('global.selectAll')}\n </Checkbox>\n ),\n children: (\n <Checkbox.Group style={{ width: '100%' }} value={internalValue} disabled={readonly}>\n <Row gutter={[10, 10]} style={{ width: '100%' }}>\n {item.permissions.map(permission => (\n <Col key={permission.value} span={6}>\n <Checkbox\n value={permission.value}\n onChange={e => {\n onCheckChange(e, [permission.value])\n }}\n >\n {permission.label}\n </Checkbox>\n </Col>\n ))}\n </Row>\n </Checkbox.Group>\n ),\n }))}\n onChange={onCollapseChange}\n />\n )\n}\n\nexport default PermissionCollapse\n","import { Skeleton, Typography } from 'antd'\nimport type { FC } from 'react'\nimport { useTranslation } from '../../../../hooks/i18n'\nimport { useAllPermissions } from '../../hooks'\nimport type { RoleV1 } from '../../types'\nimport PermissionCollapse from '../PermissionCollapse'\nimport type { PermissionListPropsBase } from '../PermissionList'\n\nconst { Text } = Typography\n\ninterface PermissionListV1Props extends PermissionListPropsBase {\n value?: RoleV1['permissions']\n onChange?: (checkedValue: RoleV1['permissions']) => void\n}\n\nconst PermissionListV1: FC<PermissionListV1Props> = props => {\n const { expand = true, value, readonly, onChange } = props\n const { data: permissions, isLoading, error } = useAllPermissions()\n const t = useTranslation()\n\n if (error) {\n return (\n <div className=\"flex justify-center\">\n <Text type=\"danger\">{t('PermissionList.failedDescription')}</Text>\n </div>\n )\n }\n\n return (\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value}\n permissions={permissions}\n readonly={readonly}\n expand={expand}\n onChange={onChange}\n />\n </Skeleton>\n )\n}\n\nexport default PermissionListV1\n","import { Button, Card, Divider, Empty, Select, Skeleton, Space, Typography } from 'antd'\nimport type { FC } from 'react'\nimport { useEffect, useState } from 'react'\nimport { useTranslation } from '../../../../hooks/i18n'\nimport { useAllPermissionsV2 } from '../../hooks'\nimport type { RoleV2 } from '../../types'\nimport PermissionCollapse from '../PermissionCollapse'\nimport type { PermissionListPropsBase } from '../PermissionList'\n\nconst { Text } = Typography\nconst { Option } = Select\n\ninterface PermissionListV2Props extends PermissionListPropsBase {\n value?: RoleV2['permissions']\n onChange?: (checkedValue: RoleV2['permissions']) => void\n}\n\nconst PermissionListV2: FC<PermissionListV2Props> = props => {\n const { expand = true, value, readonly, onChange } = props\n const { data: { permission, game: games } = {}, isLoading, error } = useAllPermissionsV2()\n const [gameList, setGameList] = useState<{ gameId: string; permissions: string[] }[]>([])\n const globalPermissions = permission?.filter(item => item.is_common)\n const gamePermissions = permission?.filter(item => !item.is_common)\n const t = useTranslation()\n\n useEffect(() => {\n const list: { gameId: string; permissions: string[] }[] = []\n\n Object.keys(value ?? {}).forEach(key => {\n if (key !== 'global') {\n list.push({ gameId: key, permissions: value?.[key] ?? [] })\n }\n })\n\n setGameList(list)\n }, [value])\n\n if (error) {\n return (\n <div className=\"flex justify-center\">\n <Text type=\"danger\">{t('PermissionList.failedDescription')}</Text>\n </div>\n )\n }\n\n const addGame = () => {\n setGameList(prev => [...prev, { gameId: '', permissions: [] }])\n }\n\n const removeGame = (index: number) => {\n setGameList(prev => prev.filter((_, i) => i !== index))\n }\n\n return (\n <div className=\"flex flex-col w-full\">\n <div className=\"mb-12\">\n <Divider dashed>{t('PermissionList.baseSectionTitle')}</Divider>\n </div>\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value?.global}\n readonly={readonly}\n permissions={globalPermissions}\n expand={expand}\n onChange={newValue => {\n onChange?.({\n ...value,\n global: newValue,\n })\n }}\n />\n </Skeleton>\n <div className=\"my-12\">\n <Divider dashed>{t('PermissionList.gameSectionTitle')}</Divider>\n </div>\n {gameList.map((item, index) => (\n <Card\n title={\n <Space>\n <Text>{t('global.game')}</Text>\n {readonly ? (\n <Text>{games?.find(game => game.id === item.gameId)?.name}</Text>\n ) : (\n <Select\n disabled={readonly}\n value={gameList[index].gameId || undefined}\n style={{ width: '160px' }}\n placeholder={t('PermissionList.gameSelectPlaceholder')}\n onChange={selectedValue => {\n setGameList(pev => {\n const temp = pev.slice()\n temp[index].gameId = selectedValue\n return temp\n })\n }}\n >\n {games?.map(game => (\n <Option key={game.id} value={game.id} disabled={gameList.some(({ gameId }) => gameId === game.id)}>\n {game.name}\n </Option>\n ))}\n </Select>\n )}\n </Space>\n }\n key={index}\n className=\"mb-6\"\n extra={\n !readonly && (\n <Button\n type=\"link\"\n onClick={() => {\n removeGame(index)\n }}\n >\n {t('PermissionList.removeText')}\n </Button>\n )\n }\n >\n {gameList[index].gameId ? (\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value?.[gameList[index].gameId]}\n readonly={readonly}\n expand={expand}\n permissions={gamePermissions}\n onChange={newValue => {\n onChange?.({\n ...value,\n [gameList[index].gameId]: newValue,\n })\n }}\n />\n </Skeleton>\n ) : (\n <Empty description={t('PermissionList.gameSectionDescription')} />\n )}\n </Card>\n ))}\n {!readonly && (\n <Button block type=\"dashed\" onClick={addGame}>\n {t('PermissionList.addText')}\n </Button>\n )}\n </div>\n )\n}\n\nexport default PermissionListV2\n","import type { FC } from 'react'\nimport { useToolkitsContext } from '../../../../components/ContextProvider'\nimport type { RoleV1, RoleV2 } from '../../types'\nimport PermissionListV1 from '../PermissionListV1'\nimport PermissionListV2 from '../PermissionListV2'\n\nexport interface PermissionListPropsBase {\n expand?: boolean\n readonly?: boolean\n}\n\ninterface PermissionListProps extends PermissionListPropsBase {\n value?: RoleV1['permissions'] | RoleV2['permissions']\n onChange?: (checkedValue: RoleV1['permissions'] | RoleV2['permissions']) => void\n}\n\nconst PermissionList: FC<PermissionListProps> = (props: PermissionListProps) => {\n const { value } = props\n const { usePermissionApiV2 } = useToolkitsContext()\n\n return (\n <>\n {usePermissionApiV2 ? (\n <PermissionListV2 {...props} value={value as RoleV2['permissions']} />\n ) : (\n <PermissionListV1 {...props} value={value as RoleV1['permissions']} />\n )}\n </>\n )\n}\n\nexport default PermissionList\n"],"names":["PermissionCollapse","props","permissions","readonly","expand","value","onChange","activeKey","setActiveKey","useState","checkedMap","setCheckedMap","internalValue","setInternalValue","t","useTranslation","onCollapseChange","useCallback","key","getCheckedValue","checkedValue","codes","tempValue","code","index","item","onCheckChange","e","useEffect","category","acc","curr","jsx","Collapse","Checkbox","permission","Row","Col","PermissionCollapse$1","Text","Typography","PermissionListV1","isLoading","error","useAllPermissions","Skeleton","PermissionListV1$1","Option","Select","PermissionListV2","games","useAllPermissionsV2","gameList","setGameList","globalPermissions","gamePermissions","list","addGame","prev","removeGame","_","i","jsxs","Divider","newValue","Card","Space","_a","game","selectedValue","pev","temp","gameId","Button","Empty","PermissionListV2$1","PermissionList","usePermissionApiV2","useToolkitsContext","Fragment","PermissionList$1"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { a as t, j as i } from "./index-cAHHsRsY.chunk.js";
1
+ import { a as t, j as i } from "./index-fMu_qmIK.chunk.js";
2
2
  import { Breadcrumb as m, Card as n, Skeleton as a, Descriptions as l } from "antd";
3
3
  import { useParams as c, Link as x } from "react-router-dom";
4
- import { P as j } from "./index-XcU1kwQ3.chunk.js";
5
- import { g as p } from "./index-all3W-22.chunk.js";
4
+ import { P as j } from "./index-N6MTFW6f.chunk.js";
5
+ import { g as p } from "./index-dhYGEVqZ.chunk.js";
6
6
  import "react";
7
7
  import "react-dom";
8
8
  const k = () => {
@@ -37,3 +37,4 @@ const k = () => {
37
37
  export {
38
38
  k as default
39
39
  };
40
+ //# sourceMappingURL=index-N6xMdULe.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-N6xMdULe.chunk.js","sources":["../src/pages/permission/RoleDetail/index.tsx"],"sourcesContent":["import { Breadcrumb, Card, Descriptions, Skeleton } from 'antd'\nimport { Link, useParams } from 'react-router-dom'\nimport { PermissionList, useRole } from '../../../features/permission'\nimport { useTranslation } from '../../../hooks/i18n'\n\nconst RoleDetail = () => {\n const params = useParams()\n const { data, isLoading } = useRole(params.name as string)\n const t = useTranslation()\n\n return (\n <>\n <Breadcrumb\n style={{ marginBottom: 24 }}\n items={[\n {\n key: '1',\n title: <Link to=\"..\">{t('global.role')}</Link>,\n },\n {\n key: '2',\n title: params.name,\n },\n ]}\n />\n <Card title={t('RoleDetail.title')}>\n <Skeleton loading={isLoading}>\n <Descriptions column={3} layout=\"vertical\">\n <Descriptions.Item label={t('global.name')}>{data?.name}</Descriptions.Item>\n <Descriptions.Item label=\"ID\">{data?.id}</Descriptions.Item>\n <Descriptions.Item label={t('global.creationTime')}>{data?.ctime}</Descriptions.Item>\n </Descriptions>\n <PermissionList readonly value={data?.permissions} />\n </Skeleton>\n </Card>\n </>\n )\n}\n\nexport default RoleDetail\n"],"names":["RoleDetail","params","useParams","data","isLoading","useRole","t","useTranslation","jsxs","Fragment","jsx","Breadcrumb","Link","Card","Skeleton","Descriptions","PermissionList"],"mappings":";;;;;;;AAKA,MAAMA,IAAa,MAAM;AACvB,QAAMC,IAASC,KACT,EAAE,MAAAC,GAAM,WAAAC,EAAA,IAAcC,EAAQJ,EAAO,IAAc,GACnDK,IAAIC;AAEV,SAEIC,gBAAAA,EAAA,KAAAC,YAAA,EAAA,UAAA;AAAA,IAAAC,gBAAAA,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAO,EAAE,cAAc,GAAG;AAAA,QAC1B,OAAO;AAAA,UACL;AAAA,YACE,KAAK;AAAA,YACL,OAAQD,gBAAAA,EAAAA,IAAAE,GAAA,EAAK,IAAG,MAAM,UAAAN,EAAE,aAAa,GAAE;AAAA,UACzC;AAAA,UACA;AAAA,YACE,KAAK;AAAA,YACL,OAAOL,EAAO;AAAA,UAChB;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAAA,IACAS,gBAAAA,EAAAA,IAACG,KAAK,OAAOP,EAAE,kBAAkB,GAC/B,UAAAE,gBAAAA,EAAAA,KAACM,GAAS,EAAA,SAASV,GACjB,UAAA;AAAA,MAAAI,gBAAAA,EAAA,KAACO,GAAa,EAAA,QAAQ,GAAG,QAAO,YAC9B,UAAA;AAAA,QAACL,gBAAAA,EAAAA,IAAAK,EAAa,MAAb,EAAkB,OAAOT,EAAE,aAAa,GAAI,iCAAM,MAAK;AAAA,8BACvDS,EAAa,MAAb,EAAkB,OAAM,MAAM,iCAAM,IAAG;AAAA,QACxCL,gBAAAA,EAAAA,IAACK,EAAa,MAAb,EAAkB,OAAOT,EAAE,qBAAqB,GAAI,UAAAH,KAAA,gBAAAA,EAAM,OAAM;AAAA,MAAA,GACnE;AAAA,4BACCa,GAAe,EAAA,UAAQ,IAAC,OAAOb,KAAA,gBAAAA,EAAM,aAAa;AAAA,IAAA,EAAA,CACrD,EACF,CAAA;AAAA,EACF,EAAA,CAAA;AAEJ;"}
@@ -1,4 +1,4 @@
1
- import { I as W, w as x, e as h, f as z, s as K, m as G, g as P, U as R, h as v, d as S, r as n, c as L } from "./index-cAHHsRsY.chunk.js";
1
+ import { I as W, w as x, e as h, f as z, s as K, m as G, g as P, U as R, h as v, d as S, r as n, c as L } from "./index-fMu_qmIK.chunk.js";
2
2
  import N, { useRef as o, useCallback as M, useState as $ } from "react";
3
3
  const U = W ? (e) => {
4
4
  e();
@@ -210,3 +210,4 @@ export {
210
210
  H as i,
211
211
  re as u
212
212
  };
213
+ //# sourceMappingURL=index-dhYGEVqZ.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-dhYGEVqZ.chunk.js","sources":["../../../node_modules/.pnpm/swr@2.2.4_react@18.2.0/node_modules/swr/mutation/dist/index.mjs","../src/features/permission/hooks/index.ts"],"sourcesContent":["import React, { useState, useRef, useCallback } from 'react';\nimport useSWR, { useSWRConfig } from 'swr';\nimport { IS_REACT_LEGACY, useIsomorphicLayoutEffect, withMiddleware, serialize, mergeObjects, getTimestamp, UNDEFINED } from 'swr/_internal';\n\nconst startTransition = IS_REACT_LEGACY ? (cb)=>{\n cb();\n} : React.startTransition;\n/**\n * An implementation of state with dependency-tracking.\n */ const useStateWithDeps = (state)=>{\n const [, rerender] = useState({});\n const unmountedRef = useRef(false);\n const stateRef = useRef(state);\n // If a state property (data, error, or isValidating) is accessed by the render\n // function, we mark the property as a dependency so if it is updated again\n // in the future, we trigger a rerender.\n // This is also known as dependency-tracking.\n const stateDependenciesRef = useRef({\n data: false,\n error: false,\n isValidating: false\n });\n /**\n * @param payload To change stateRef, pass the values explicitly to setState:\n * @example\n * ```js\n * setState({\n * isValidating: false\n * data: newData // set data to newData\n * error: undefined // set error to undefined\n * })\n *\n * setState({\n * isValidating: false\n * data: undefined // set data to undefined\n * error: err // set error to err\n * })\n * ```\n */ const setState = useCallback((payload)=>{\n let shouldRerender = false;\n const currentState = stateRef.current;\n for(const _ in payload){\n const k = _;\n // If the property has changed, update the state and mark rerender as\n // needed.\n if (currentState[k] !== payload[k]) {\n currentState[k] = payload[k];\n // If the property is accessed by the component, a rerender should be\n // triggered.\n if (stateDependenciesRef.current[k]) {\n shouldRerender = true;\n }\n }\n }\n if (shouldRerender && !unmountedRef.current) {\n rerender({});\n }\n }, []);\n useIsomorphicLayoutEffect(()=>{\n unmountedRef.current = false;\n return ()=>{\n unmountedRef.current = true;\n };\n });\n return [\n stateRef,\n stateDependenciesRef.current,\n setState\n ];\n};\n\nconst mutation = ()=>(key, fetcher, config = {})=>{\n const { mutate } = useSWRConfig();\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n // Ditch all mutation results that happened earlier than this timestamp.\n const ditchMutationsUntilRef = useRef(0);\n const [stateRef, stateDependencies, setState] = useStateWithDeps({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n const currentState = stateRef.current;\n const trigger = useCallback(async (arg, opts)=>{\n const [serializedKey, resolvedKey] = serialize(keyRef.current);\n if (!fetcherRef.current) {\n throw new Error('Can’t trigger the mutation: missing fetcher.');\n }\n if (!serializedKey) {\n throw new Error('Can’t trigger the mutation: missing key.');\n }\n // Disable cache population by default.\n const options = mergeObjects(mergeObjects({\n populateCache: false,\n throwOnError: true\n }, configRef.current), opts);\n // Trigger a mutation, and also track the timestamp. Any mutation that happened\n // earlier this timestamp should be ignored.\n const mutationStartedAt = getTimestamp();\n ditchMutationsUntilRef.current = mutationStartedAt;\n setState({\n isMutating: true\n });\n try {\n const data = await mutate(serializedKey, fetcherRef.current(resolvedKey, {\n arg\n }), // We must throw the error here so we can catch and update the states.\n mergeObjects(options, {\n throwOnError: true\n }));\n // If it's reset after the mutation, we don't broadcast any state change.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n var _options_onSuccess, _options;\n startTransition(()=>setState({\n data,\n isMutating: false,\n error: undefined\n }));\n (_options_onSuccess = (_options = options).onSuccess) == null ? void 0 : _options_onSuccess.call(_options, data, serializedKey, options);\n }\n return data;\n } catch (error) {\n // If it's reset after the mutation, we don't broadcast any state change\n // or throw because it's discarded.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n var _options_onError, _options1;\n startTransition(()=>setState({\n error: error,\n isMutating: false\n }));\n (_options_onError = (_options1 = options).onError) == null ? void 0 : _options_onError.call(_options1, error, serializedKey, options);\n if (options.throwOnError) {\n throw error;\n }\n }\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n const reset = useCallback(()=>{\n ditchMutationsUntilRef.current = getTimestamp();\n setState({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useIsomorphicLayoutEffect(()=>{\n keyRef.current = key;\n fetcherRef.current = fetcher;\n configRef.current = config;\n });\n // We don't return `mutate` here as it can be pretty confusing (e.g. people\n // calling `mutate` but they actually mean `trigger`).\n // And also, `mutate` relies on the useSWR hook to exist too.\n return {\n trigger,\n reset,\n get data () {\n stateDependencies.data = true;\n return currentState.data;\n },\n get error () {\n stateDependencies.error = true;\n return currentState.error;\n },\n get isMutating () {\n stateDependencies.isMutating = true;\n return currentState.isMutating;\n }\n };\n };\n/**\n * A hook to define and manually trigger remote mutations like POST, PUT, DELETE and PATCH use cases.\n *\n * @link https://swr.vercel.app/docs/mutation\n * @example\n * ```jsx\n * import useSWRMutation from 'swr/mutation'\n *\n * const {\n * data,\n * error,\n * trigger,\n * reset,\n * isMutating\n * } = useSWRMutation(key, fetcher, options?)\n * ```\n */ const useSWRMutation = withMiddleware(useSWR, mutation);\n\nexport { useSWRMutation as default };\n","import useSWR from 'swr'\nimport useSWRMutation from 'swr/mutation'\nimport { useToolkitsContext } from '../../../components/ContextProvider'\nimport type { Game } from '../../../components/GameSelect'\nimport { usePermission } from '../../../hooks/permission'\nimport { request } from '../../../utils/request'\nimport type { PermissionEnumItem, RoleEnumItem, RoleV1, RoleV2 } from '../types'\n\nexport function useAllPermissions() {\n return useSWR('/api/usystem/user/allPermssions', url =>\n request<PermissionEnumItem[]>(url, { isGlobal: true }).then(response => response.data),\n )\n}\n\nexport function useAllPermissionsV2() {\n return useSWR('/api/usystem/user/allPermissionsV2', url =>\n request<{\n game: Game[]\n permission: PermissionEnumItem[]\n }>(url, { isGlobal: true }).then(response => response.data),\n )\n}\n\nexport function useAllRoles() {\n const { accessible } = usePermission('200005', true)\n return useSWR(accessible ? '/api/usystem/role/all' : null, url =>\n request<RoleEnumItem[]>(url, { isGlobal: true }).then(response => response.data),\n )\n}\n\nexport function useRole(name: string) {\n const { usePermissionApiV2 } = useToolkitsContext()\n return useSWR(`/api/usystem/role/${usePermissionApiV2 ? 'infoV2' : 'info'}?name=${name}`, (url: string) =>\n request<RoleV1 | RoleV2>(url, { isGlobal: true }).then(response => response.data),\n )\n}\n\nexport function useCreateRole() {\n const { usePermissionApiV2 } = useToolkitsContext()\n\n return useSWRMutation(\n usePermissionApiV2 ? '/api/usystem/role/createV2' : '/api/usystem/role/create',\n (\n url: string,\n {\n arg,\n }: {\n arg: { name: string; permissions: RoleV1['permissions'] | RoleV2['permissions'] }\n },\n ) =>\n request(url, {\n method: 'post',\n body: arg,\n isGlobal: true,\n }),\n )\n}\n\nexport function useUpdateRole() {\n const { usePermissionApiV2 } = useToolkitsContext()\n\n return useSWRMutation(\n usePermissionApiV2 ? '/api/usystem/role/updateV2' : '/api/usystem/role/update',\n (\n url: string,\n {\n arg,\n }: {\n arg: { id: number; name: string; permissions: RoleV1['permissions'] | RoleV2['permissions'] }\n },\n ) =>\n request(url, {\n method: 'post',\n body: arg,\n isGlobal: true,\n }),\n )\n}\n\nexport function useRemoveRole() {\n return useSWRMutation(\n '/api/usystem/role/delete',\n (\n url,\n {\n arg,\n }: {\n arg: { id: number; name: string }\n },\n ) =>\n request(url, {\n method: 'post',\n body: arg,\n isGlobal: true,\n }),\n )\n}\n\nexport function useCreateUser() {\n return useSWRMutation(\n '/api/usystem/user/create',\n (\n url,\n {\n arg,\n }: {\n arg: { name: string; roles: string[] }\n },\n ) =>\n request(url, {\n method: 'post',\n body: arg,\n isGlobal: true,\n }),\n )\n}\n\nexport function useUpdateUser() {\n return useSWRMutation(\n '/api/usystem/user/update',\n (\n url,\n {\n arg,\n }: {\n arg: { id: string; name: string; roles: string[] }\n },\n ) =>\n request(url, {\n method: 'post',\n body: arg,\n isGlobal: true,\n }),\n )\n}\n\nexport function useRemoveUser() {\n return useSWRMutation(\n '/api/usystem/user/delete',\n (\n url,\n {\n arg,\n }: {\n arg: { id: string; name: string }\n },\n ) =>\n request(url, {\n method: 'post',\n body: arg,\n isGlobal: true,\n }),\n )\n}\n"],"names":["startTransition","IS_REACT_LEGACY","cb","React","useStateWithDeps","state","rerender","useState","unmountedRef","useRef","stateRef","stateDependenciesRef","setState","useCallback","payload","shouldRerender","currentState","_","k","useIsomorphicLayoutEffect","mutation","key","fetcher","config","mutate","useSWRConfig","keyRef","fetcherRef","configRef","ditchMutationsUntilRef","stateDependencies","UNDEFINED","trigger","arg","opts","serializedKey","resolvedKey","serialize","options","mergeObjects","mutationStartedAt","getTimestamp","data","_options_onSuccess","_options","error","_options_onError","_options1","reset","useSWRMutation","withMiddleware","useSWR","useAllPermissions","url","request","response","useAllPermissionsV2","useAllRoles","accessible","usePermission","useRole","name","usePermissionApiV2","useToolkitsContext","useCreateRole","useUpdateRole","useRemoveRole","useCreateUser","useUpdateUser","useRemoveUser"],"mappings":"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","x_google_ignoreList":[0]}