@primershop/strapi-plugin-status-manager 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/admin/{components/StatusManager.mjs → HomePage-C4rwBBWf.mjs} +50 -4
  2. package/dist/admin/HomePage-C4rwBBWf.mjs.map +1 -0
  3. package/dist/admin/{components/StatusManager.js → HomePage-CgBU0RrT.js} +50 -4
  4. package/dist/admin/HomePage-CgBU0RrT.js.map +1 -0
  5. package/dist/admin/index-BaesChab.mjs +279 -0
  6. package/dist/admin/index-BaesChab.mjs.map +1 -0
  7. package/dist/admin/index-C5VrYoqI.js +282 -0
  8. package/dist/admin/index-C5VrYoqI.js.map +1 -0
  9. package/dist/admin/index.js +8 -41
  10. package/dist/admin/index.js.map +1 -1
  11. package/dist/admin/index.mjs +6 -43
  12. package/dist/admin/index.mjs.map +1 -1
  13. package/dist/server/bootstrap.js +7 -2
  14. package/dist/server/bootstrap.js.map +1 -1
  15. package/dist/server/bootstrap.mjs +7 -2
  16. package/dist/server/bootstrap.mjs.map +1 -1
  17. package/dist/server/index.js +1 -1
  18. package/dist/server/index.js.map +1 -1
  19. package/dist/server/index.mjs +1 -1
  20. package/dist/server/index.mjs.map +1 -1
  21. package/dist/server/permissions.js +6 -1
  22. package/dist/server/permissions.js.map +1 -1
  23. package/dist/server/permissions.mjs +6 -1
  24. package/dist/server/permissions.mjs.map +1 -1
  25. package/dist/server/register.js +0 -7
  26. package/dist/server/register.js.map +1 -1
  27. package/dist/server/register.mjs +0 -7
  28. package/dist/server/register.mjs.map +1 -1
  29. package/package.json +106 -102
  30. package/dist/admin/components/Initializer.js +0 -17
  31. package/dist/admin/components/Initializer.js.map +0 -1
  32. package/dist/admin/components/Initializer.mjs +0 -15
  33. package/dist/admin/components/Initializer.mjs.map +0 -1
  34. package/dist/admin/components/PluginIcon.js +0 -9
  35. package/dist/admin/components/PluginIcon.js.map +0 -1
  36. package/dist/admin/components/PluginIcon.mjs +0 -7
  37. package/dist/admin/components/PluginIcon.mjs.map +0 -1
  38. package/dist/admin/components/ProductStatusField.js +0 -104
  39. package/dist/admin/components/ProductStatusField.js.map +0 -1
  40. package/dist/admin/components/ProductStatusField.mjs +0 -102
  41. package/dist/admin/components/ProductStatusField.mjs.map +0 -1
  42. package/dist/admin/components/StatusManager.js.map +0 -1
  43. package/dist/admin/components/StatusManager.mjs.map +0 -1
  44. package/dist/admin/listView/StatusFilter.js +0 -76
  45. package/dist/admin/listView/StatusFilter.js.map +0 -1
  46. package/dist/admin/listView/StatusFilter.mjs +0 -74
  47. package/dist/admin/listView/StatusFilter.mjs.map +0 -1
  48. package/dist/admin/listView/add-status-column-hook.js +0 -34
  49. package/dist/admin/listView/add-status-column-hook.js.map +0 -1
  50. package/dist/admin/listView/add-status-column-hook.mjs +0 -32
  51. package/dist/admin/listView/add-status-column-hook.mjs.map +0 -1
  52. package/dist/admin/listView/status-cell.js +0 -28
  53. package/dist/admin/listView/status-cell.js.map +0 -1
  54. package/dist/admin/listView/status-cell.mjs +0 -26
  55. package/dist/admin/listView/status-cell.mjs.map +0 -1
  56. package/dist/admin/pages/HomePage.js +0 -51
  57. package/dist/admin/pages/HomePage.js.map +0 -1
  58. package/dist/admin/pages/HomePage.mjs +0 -49
  59. package/dist/admin/pages/HomePage.mjs.map +0 -1
  60. package/dist/admin/pluginId.js +0 -6
  61. package/dist/admin/pluginId.js.map +0 -1
  62. package/dist/admin/pluginId.mjs +0 -4
  63. package/dist/admin/pluginId.mjs.map +0 -1
@@ -11,13 +11,6 @@ const register = ({ strapi })=>{
11
11
  plugin: pluginId.PLUGIN_ID,
12
12
  type: "string"
13
13
  });
14
- // Register permissions
15
- strapi.admin.services.permission.actionProvider.register({
16
- section: "plugins",
17
- displayName: "Status Manager",
18
- uid: pluginId.PLUGIN_ID,
19
- pluginName: pluginId.PLUGIN_ID
20
- });
21
14
  strapi.documents.use(filterByStatus);
22
15
  strapi.documents.use(addStatusField);
23
16
  strapi.documents.use(filterPublished);
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sources":["../../server/src/register.ts"],"sourcesContent":["import { PLUGIN_ID } from \"./pluginId\";\r\nimport type { Core } from \"@strapi/strapi\";\r\nimport addStatusField from \"./middlewares/add-status-field\";\r\nimport filterByStatus from \"./middlewares/filter-by-status\";\r\nimport filterPublished from \"./middlewares/filter-published\";\r\n\r\n\r\n\r\nexport const register = ({ strapi }: { strapi: Core.Strapi }): void => {\r\n strapi.customFields.register({\r\n name: \"statusName\",\r\n plugin: PLUGIN_ID,\r\n type: \"string\",\r\n });\r\n // Register permissions\r\n strapi.admin.services.permission.actionProvider.register({\r\n section: \"plugins\",\r\n displayName: \"Status Manager\",\r\n uid: PLUGIN_ID,\r\n pluginName: PLUGIN_ID,\r\n });\r\n\r\n strapi.documents.use(filterByStatus);\r\n strapi.documents.use(addStatusField);\r\n strapi.documents.use(filterPublished);\r\n};\r\n"],"names":["register","strapi","customFields","name","plugin","PLUGIN_ID","type","admin","services","permission","actionProvider","section","displayName","uid","pluginName","documents","use","filterByStatus","addStatusField","filterPublished"],"mappings":";;;;;;;AAQO,MAAMA,QAAAA,GAAW,CAAC,EAAEC,MAAM,EAA2B,GAAA;IAC1DA,MAAAA,CAAOC,YAAY,CAACF,QAAQ,CAAC;QAC3BG,IAAAA,EAAM,YAAA;QACNC,MAAAA,EAAQC,kBAAAA;QACRC,IAAAA,EAAM;AACR,KAAA,CAAA;;IAEAL,MAAAA,CAAOM,KAAK,CAACC,QAAQ,CAACC,UAAU,CAACC,cAAc,CAACV,QAAQ,CAAC;QACvDW,OAAAA,EAAS,SAAA;QACTC,WAAAA,EAAa,gBAAA;QACbC,GAAAA,EAAKR,kBAAAA;QACLS,UAAAA,EAAYT;AACd,KAAA,CAAA;IAEAJ,MAAAA,CAAOc,SAAS,CAACC,GAAG,CAACC,cAAAA,CAAAA;IACrBhB,MAAAA,CAAOc,SAAS,CAACC,GAAG,CAACE,cAAAA,CAAAA;IACrBjB,MAAAA,CAAOc,SAAS,CAACC,GAAG,CAACG,eAAAA,CAAAA;AACvB;;;;"}
1
+ {"version":3,"file":"register.js","sources":["../../server/src/register.ts"],"sourcesContent":["import { PLUGIN_ID } from \"./pluginId\";\r\nimport type { Core } from \"@strapi/strapi\";\r\nimport addStatusField from \"./middlewares/add-status-field\";\r\nimport filterByStatus from \"./middlewares/filter-by-status\";\r\nimport filterPublished from \"./middlewares/filter-published\";\r\n\r\n\r\n\r\nexport const register = ({ strapi }: { strapi: Core.Strapi }): void => {\r\n strapi.customFields.register({\r\n name: \"statusName\",\r\n plugin: PLUGIN_ID,\r\n type: \"string\",\r\n });\r\n\r\n strapi.documents.use(filterByStatus);\r\n strapi.documents.use(addStatusField);\r\n strapi.documents.use(filterPublished);\r\n};\r\n"],"names":["register","strapi","customFields","name","plugin","PLUGIN_ID","type","documents","use","filterByStatus","addStatusField","filterPublished"],"mappings":";;;;;;;AAQO,MAAMA,QAAAA,GAAW,CAAC,EAAEC,MAAM,EAA2B,GAAA;IAC1DA,MAAAA,CAAOC,YAAY,CAACF,QAAQ,CAAC;QAC3BG,IAAAA,EAAM,YAAA;QACNC,MAAAA,EAAQC,kBAAAA;QACRC,IAAAA,EAAM;AACR,KAAA,CAAA;IAEAL,MAAAA,CAAOM,SAAS,CAACC,GAAG,CAACC,cAAAA,CAAAA;IACrBR,MAAAA,CAAOM,SAAS,CAACC,GAAG,CAACE,cAAAA,CAAAA;IACrBT,MAAAA,CAAOM,SAAS,CAACC,GAAG,CAACG,eAAAA,CAAAA;AACvB;;;;"}
@@ -9,13 +9,6 @@ const register = ({ strapi })=>{
9
9
  plugin: PLUGIN_ID,
10
10
  type: "string"
11
11
  });
12
- // Register permissions
13
- strapi.admin.services.permission.actionProvider.register({
14
- section: "plugins",
15
- displayName: "Status Manager",
16
- uid: PLUGIN_ID,
17
- pluginName: PLUGIN_ID
18
- });
19
12
  strapi.documents.use(filterByStatus);
20
13
  strapi.documents.use(addStatusField);
21
14
  strapi.documents.use(filterPublished);
@@ -1 +1 @@
1
- {"version":3,"file":"register.mjs","sources":["../../server/src/register.ts"],"sourcesContent":["import { PLUGIN_ID } from \"./pluginId\";\r\nimport type { Core } from \"@strapi/strapi\";\r\nimport addStatusField from \"./middlewares/add-status-field\";\r\nimport filterByStatus from \"./middlewares/filter-by-status\";\r\nimport filterPublished from \"./middlewares/filter-published\";\r\n\r\n\r\n\r\nexport const register = ({ strapi }: { strapi: Core.Strapi }): void => {\r\n strapi.customFields.register({\r\n name: \"statusName\",\r\n plugin: PLUGIN_ID,\r\n type: \"string\",\r\n });\r\n // Register permissions\r\n strapi.admin.services.permission.actionProvider.register({\r\n section: \"plugins\",\r\n displayName: \"Status Manager\",\r\n uid: PLUGIN_ID,\r\n pluginName: PLUGIN_ID,\r\n });\r\n\r\n strapi.documents.use(filterByStatus);\r\n strapi.documents.use(addStatusField);\r\n strapi.documents.use(filterPublished);\r\n};\r\n"],"names":["register","strapi","customFields","name","plugin","PLUGIN_ID","type","admin","services","permission","actionProvider","section","displayName","uid","pluginName","documents","use","filterByStatus","addStatusField","filterPublished"],"mappings":";;;;;AAQO,MAAMA,QAAAA,GAAW,CAAC,EAAEC,MAAM,EAA2B,GAAA;IAC1DA,MAAAA,CAAOC,YAAY,CAACF,QAAQ,CAAC;QAC3BG,IAAAA,EAAM,YAAA;QACNC,MAAAA,EAAQC,SAAAA;QACRC,IAAAA,EAAM;AACR,KAAA,CAAA;;IAEAL,MAAAA,CAAOM,KAAK,CAACC,QAAQ,CAACC,UAAU,CAACC,cAAc,CAACV,QAAQ,CAAC;QACvDW,OAAAA,EAAS,SAAA;QACTC,WAAAA,EAAa,gBAAA;QACbC,GAAAA,EAAKR,SAAAA;QACLS,UAAAA,EAAYT;AACd,KAAA,CAAA;IAEAJ,MAAAA,CAAOc,SAAS,CAACC,GAAG,CAACC,cAAAA,CAAAA;IACrBhB,MAAAA,CAAOc,SAAS,CAACC,GAAG,CAACE,cAAAA,CAAAA;IACrBjB,MAAAA,CAAOc,SAAS,CAACC,GAAG,CAACG,eAAAA,CAAAA;AACvB;;;;"}
1
+ {"version":3,"file":"register.mjs","sources":["../../server/src/register.ts"],"sourcesContent":["import { PLUGIN_ID } from \"./pluginId\";\r\nimport type { Core } from \"@strapi/strapi\";\r\nimport addStatusField from \"./middlewares/add-status-field\";\r\nimport filterByStatus from \"./middlewares/filter-by-status\";\r\nimport filterPublished from \"./middlewares/filter-published\";\r\n\r\n\r\n\r\nexport const register = ({ strapi }: { strapi: Core.Strapi }): void => {\r\n strapi.customFields.register({\r\n name: \"statusName\",\r\n plugin: PLUGIN_ID,\r\n type: \"string\",\r\n });\r\n\r\n strapi.documents.use(filterByStatus);\r\n strapi.documents.use(addStatusField);\r\n strapi.documents.use(filterPublished);\r\n};\r\n"],"names":["register","strapi","customFields","name","plugin","PLUGIN_ID","type","documents","use","filterByStatus","addStatusField","filterPublished"],"mappings":";;;;;AAQO,MAAMA,QAAAA,GAAW,CAAC,EAAEC,MAAM,EAA2B,GAAA;IAC1DA,MAAAA,CAAOC,YAAY,CAACF,QAAQ,CAAC;QAC3BG,IAAAA,EAAM,YAAA;QACNC,MAAAA,EAAQC,SAAAA;QACRC,IAAAA,EAAM;AACR,KAAA,CAAA;IAEAL,MAAAA,CAAOM,SAAS,CAACC,GAAG,CAACC,cAAAA,CAAAA;IACrBR,MAAAA,CAAOM,SAAS,CAACC,GAAG,CAACE,cAAAA,CAAAA;IACrBT,MAAAA,CAAOM,SAAS,CAACC,GAAG,CAACG,eAAAA,CAAAA;AACvB;;;;"}
package/package.json CHANGED
@@ -1,102 +1,106 @@
1
- {
2
- "name": "@primershop/strapi-plugin-status-manager",
3
- "version": "0.0.6",
4
- "description": "Enables more status variations for Strapi",
5
- "exports": {
6
- "./strapi-admin": {
7
- "import": "./dist/admin/index.mjs",
8
- "require": "./dist/admin/index.js",
9
- "default": "./dist/admin/index.js"
10
- },
11
- "./strapi-server": {
12
- "import": "./dist/server/index.mjs",
13
- "require": "./dist/server/index.js",
14
- "default": "./dist/server/index.js"
15
- },
16
- "./package.json": "./package.json"
17
- },
18
- "files": [
19
- "dist/"
20
- ],
21
- "scripts": {
22
- "build": "npm-run-all clean --parallel build:code",
23
- "build:code": "rollup -c",
24
- "build:dev": "rollup -c rollup.config.dev.mjs",
25
- "build:types": "run-p build:types:server build:types:admin",
26
- "build:types:server": "tsc -p server/tsconfig.build.json ",
27
- "build:types:admin": "tsc -p admin/tsconfig.build.json ",
28
- "clean": "rimraf ./dist",
29
- "lint": "eslint .",
30
- "test:front": "cross-env IS_EE=true jest --config ./jest.config.front.js",
31
- "test:ts:front": "tsc -p admin/tsconfig.json",
32
- "test:unit": "jest",
33
- "test:unit:watch": "jest --watch",
34
- "watch": "rollup -c -w",
35
- "dev": "NODE_ENV=development DEBUG=true rollup -c rollup.config.dev.mjs -w",
36
- "test:debug": "NODE_ENV=development DEBUG=true node test-debug.js"
37
- },
38
- "keywords": [
39
- "strapi",
40
- "plugin",
41
- "strapi-plugin",
42
- "status",
43
- "manager"
44
- ],
45
- "author": "Magda Odrowaz-Zelezik <magda.zelezik@gmail.com>",
46
- "license": "MIT",
47
- "repository": {
48
- "type": "git",
49
- "url": "https://github.com/magdazelena/primer.git",
50
- "directory": "packages/strapi-plugin-status-manager"
51
- },
52
- "bugs": {
53
- "url": "https://github.com/magdazelena/primer/issues"
54
- },
55
- "homepage": "https://github.com/magdazelena/primer/tree/main/packages/strapi-plugin-status-manager#readme",
56
- "peerDependencies": {
57
- "@strapi/strapi": "^5.29.0"
58
- },
59
- "devDependencies": {
60
- "@atlaskit/pragmatic-drag-and-drop": "^1.7.7",
61
- "@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.0.3",
62
- "@eslint/eslintrc": "^3.3.1",
63
- "@eslint/js": "^9.35.0",
64
- "@rollup/plugin-commonjs": "^29.0.0",
65
- "@rollup/plugin-dynamic-import-vars": "^2.1.5",
66
- "@rollup/plugin-json": "^6.1.0",
67
- "@rollup/plugin-node-resolve": "^16.0.1",
68
- "@rollup/plugin-swc": "^0.4.0",
69
- "@strapi/admin": "^5.29.0",
70
- "@strapi/content-manager": "^5.29.0",
71
- "@strapi/types": "^5.29.0",
72
- "@types/react": "^18.3.1",
73
- "@types/react-dom": "^18.3.1",
74
- "@types/node": "^25.0.2",
75
- "cross-env": "^10.0.0",
76
- "eslint": "9.39.2",
77
- "jest": "^30.2.0",
78
- "npm-run-all": "^4.1.5",
79
- "rimraf": "^6.0.1",
80
- "rollup": "^4.52.4",
81
- "typescript": "^5.3.3"
82
- },
83
- "engines": {
84
- "node": ">=18.0.0",
85
- "npm": ">=6.0.0"
86
- },
87
- "strapi": {
88
- "kind": "plugin",
89
- "name": "primershop-status-manager",
90
- "displayName": "Status Manager",
91
- "description": "Manages content statuses"
92
- },
93
- "dependencies": {
94
- "@strapi/design-system": "^2.0.0-rc.27",
95
- "@strapi/icons": "^2.0.0-rc.27",
96
- "@strapi/utils": "^5.29.0",
97
- "react": "18.3.1",
98
- "react-dom": "18.3.1",
99
- "react-router-dom": "6.22.3",
100
- "styled-components": "^6.1.19"
101
- }
102
- }
1
+ {
2
+ "name": "@primershop/strapi-plugin-status-manager",
3
+ "version": "0.0.8",
4
+ "description": "Enables more status variations for Strapi (v0.0.8)",
5
+ "exports": {
6
+ "./strapi-admin": {
7
+ "import": "./dist/admin/index.mjs",
8
+ "require": "./dist/admin/index.js",
9
+ "default": "./dist/admin/index.js"
10
+ },
11
+ "./strapi-server": {
12
+ "import": "./dist/server/index.mjs",
13
+ "require": "./dist/server/index.js",
14
+ "default": "./dist/server/index.js"
15
+ },
16
+ "./package.json": "./package.json"
17
+ },
18
+ "files": [
19
+ "dist/"
20
+ ],
21
+ "scripts": {
22
+ "build": "npm-run-all clean --parallel build:code",
23
+ "build:code": "rollup -c",
24
+ "build:dev": "rollup -c rollup.config.dev.mjs",
25
+ "build:types": "run-p build:types:server build:types:admin",
26
+ "build:types:server": "tsc -p server/tsconfig.build.json ",
27
+ "build:types:admin": "tsc -p admin/tsconfig.build.json ",
28
+ "clean": "rimraf ./dist",
29
+ "lint": "eslint .",
30
+ "test:front": "cross-env IS_EE=true jest --config ./jest.config.front.js",
31
+ "test:ts:front": "tsc -p admin/tsconfig.json",
32
+ "test:unit": "jest",
33
+ "test:unit:watch": "jest --watch",
34
+ "watch": "rollup -c -w",
35
+ "dev": "NODE_ENV=development DEBUG=true rollup -c rollup.config.dev.mjs -w",
36
+ "test:debug": "NODE_ENV=development DEBUG=true node test-debug.js",
37
+ "deploy": "node ../../scripts/plugin-deploy.js strapi-plugin-status-manager",
38
+ "deploy:patch": "node ../../scripts/plugin-deploy.js strapi-plugin-status-manager patch",
39
+ "deploy:minor": "node ../../scripts/plugin-deploy.js strapi-plugin-status-manager minor",
40
+ "deploy:major": "node ../../scripts/plugin-deploy.js strapi-plugin-status-manager major"
41
+ },
42
+ "keywords": [
43
+ "strapi",
44
+ "plugin",
45
+ "strapi-plugin",
46
+ "status",
47
+ "manager"
48
+ ],
49
+ "author": "Magda Odrowaz-Zelezik <magda.zelezik@gmail.com>",
50
+ "license": "MIT",
51
+ "repository": {
52
+ "type": "git",
53
+ "url": "https://github.com/magdazelena/primer.git",
54
+ "directory": "packages/strapi-plugin-status-manager"
55
+ },
56
+ "bugs": {
57
+ "url": "https://github.com/magdazelena/primer/issues"
58
+ },
59
+ "homepage": "https://github.com/magdazelena/primer/tree/main/packages/strapi-plugin-status-manager#readme",
60
+ "peerDependencies": {
61
+ "@strapi/strapi": "^5.29.0"
62
+ },
63
+ "devDependencies": {
64
+ "@atlaskit/pragmatic-drag-and-drop": "^1.7.7",
65
+ "@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.0.3",
66
+ "@eslint/eslintrc": "^3.3.1",
67
+ "@eslint/js": "^9.35.0",
68
+ "@rollup/plugin-commonjs": "^29.0.0",
69
+ "@rollup/plugin-dynamic-import-vars": "^2.1.5",
70
+ "@rollup/plugin-json": "^6.1.0",
71
+ "@rollup/plugin-node-resolve": "^16.0.1",
72
+ "@rollup/plugin-swc": "^0.4.0",
73
+ "@strapi/admin": "^5.29.0",
74
+ "@strapi/content-manager": "^5.29.0",
75
+ "@strapi/types": "^5.29.0",
76
+ "@types/react": "^18.3.1",
77
+ "@types/react-dom": "^18.3.1",
78
+ "@types/node": "^25.0.2",
79
+ "cross-env": "^10.0.0",
80
+ "eslint": "9.39.2",
81
+ "jest": "^30.2.0",
82
+ "npm-run-all": "^4.1.5",
83
+ "rimraf": "^6.0.1",
84
+ "rollup": "^4.52.4",
85
+ "typescript": "^5.3.3"
86
+ },
87
+ "engines": {
88
+ "node": ">=18.0.0",
89
+ "npm": ">=6.0.0"
90
+ },
91
+ "strapi": {
92
+ "kind": "plugin",
93
+ "name": "primershop-status-manager",
94
+ "displayName": "Status Manager",
95
+ "description": "Manages content statuses (v0.0.8)"
96
+ },
97
+ "dependencies": {
98
+ "@strapi/design-system": "^2.0.0-rc.27",
99
+ "@strapi/icons": "^2.0.0-rc.27",
100
+ "@strapi/utils": "^5.29.0",
101
+ "react": "18.3.1",
102
+ "react-dom": "18.3.1",
103
+ "react-router-dom": "6.22.3",
104
+ "styled-components": "^6.1.19"
105
+ }
106
+ }
@@ -1,17 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var pluginId = require('../pluginId.js');
5
-
6
- /**
7
- * @type {import('react').FC<{ setPlugin: (id: string) => void }>}
8
- */ const Initializer = ({ setPlugin })=>{
9
- const ref = React.useRef(setPlugin);
10
- React.useEffect(()=>{
11
- ref.current(pluginId.PLUGIN_ID);
12
- }, []);
13
- return null;
14
- };
15
-
16
- exports.Initializer = Initializer;
17
- //# sourceMappingURL=Initializer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Initializer.js","sources":["../../../admin/src/components/Initializer.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\r\n\r\nimport { PLUGIN_ID } from \"../pluginId\";\r\n\r\n/**\r\n * @type {import('react').FC<{ setPlugin: (id: string) => void }>}\r\n */\r\nconst Initializer = ({ setPlugin }: { setPlugin: (id: string) => void }) => {\r\n const ref = useRef(setPlugin);\r\n\r\n useEffect(() => {\r\n ref.current(PLUGIN_ID);\r\n }, []);\r\n\r\n return null;\r\n};\r\n\r\nexport { Initializer };\r\n"],"names":["Initializer","setPlugin","ref","useRef","useEffect","current","PLUGIN_ID"],"mappings":";;;;;AAIA;;AAEC,IACD,MAAMA,WAAAA,GAAc,CAAC,EAAEC,SAAS,EAAuC,GAAA;AACrE,IAAA,MAAMC,MAAMC,YAAAA,CAAOF,SAAAA,CAAAA;IAEnBG,eAAAA,CAAU,IAAA;AACRF,QAAAA,GAAAA,CAAIG,OAAO,CAACC,kBAAAA,CAAAA;AACd,IAAA,CAAA,EAAG,EAAE,CAAA;IAEL,OAAO,IAAA;AACT;;;;"}
@@ -1,15 +0,0 @@
1
- import { useRef, useEffect } from 'react';
2
- import { PLUGIN_ID } from '../pluginId.mjs';
3
-
4
- /**
5
- * @type {import('react').FC<{ setPlugin: (id: string) => void }>}
6
- */ const Initializer = ({ setPlugin })=>{
7
- const ref = useRef(setPlugin);
8
- useEffect(()=>{
9
- ref.current(PLUGIN_ID);
10
- }, []);
11
- return null;
12
- };
13
-
14
- export { Initializer };
15
- //# sourceMappingURL=Initializer.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Initializer.mjs","sources":["../../../admin/src/components/Initializer.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\r\n\r\nimport { PLUGIN_ID } from \"../pluginId\";\r\n\r\n/**\r\n * @type {import('react').FC<{ setPlugin: (id: string) => void }>}\r\n */\r\nconst Initializer = ({ setPlugin }: { setPlugin: (id: string) => void }) => {\r\n const ref = useRef(setPlugin);\r\n\r\n useEffect(() => {\r\n ref.current(PLUGIN_ID);\r\n }, []);\r\n\r\n return null;\r\n};\r\n\r\nexport { Initializer };\r\n"],"names":["Initializer","setPlugin","ref","useRef","useEffect","current","PLUGIN_ID"],"mappings":";;;AAIA;;AAEC,IACD,MAAMA,WAAAA,GAAc,CAAC,EAAEC,SAAS,EAAuC,GAAA;AACrE,IAAA,MAAMC,MAAMC,MAAAA,CAAOF,SAAAA,CAAAA;IAEnBG,SAAAA,CAAU,IAAA;AACRF,QAAAA,GAAAA,CAAIG,OAAO,CAACC,SAAAA,CAAAA;AACd,IAAA,CAAA,EAAG,EAAE,CAAA;IAEL,OAAO,IAAA;AACT;;;;"}
@@ -1,9 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var icons = require('@strapi/icons');
5
-
6
- const PluginIcon = ()=>/*#__PURE__*/ jsxRuntime.jsx(icons.CheckCircle, {});
7
-
8
- exports.PluginIcon = PluginIcon;
9
- //# sourceMappingURL=PluginIcon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginIcon.js","sources":["../../../admin/src/components/PluginIcon.tsx"],"sourcesContent":["import { CheckCircle } from \"@strapi/icons\";\r\n\r\nconst PluginIcon = () => <CheckCircle />;\r\n\r\nexport { PluginIcon };\r\n"],"names":["PluginIcon","_jsx","CheckCircle"],"mappings":";;;;;AAEA,MAAMA,UAAAA,GAAa,kBAAMC,cAAA,CAACC,iBAAAA,EAAAA,EAAAA;;;;"}
@@ -1,7 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { CheckCircle } from '@strapi/icons';
3
-
4
- const PluginIcon = ()=>/*#__PURE__*/ jsx(CheckCircle, {});
5
-
6
- export { PluginIcon };
7
- //# sourceMappingURL=PluginIcon.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginIcon.mjs","sources":["../../../admin/src/components/PluginIcon.tsx"],"sourcesContent":["import { CheckCircle } from \"@strapi/icons\";\r\n\r\nconst PluginIcon = () => <CheckCircle />;\r\n\r\nexport { PluginIcon };\r\n"],"names":["PluginIcon","_jsx","CheckCircle"],"mappings":";;;AAEA,MAAMA,UAAAA,GAAa,kBAAMC,GAAA,CAACC,WAAAA,EAAAA,EAAAA;;;;"}
@@ -1,104 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var React = require('react');
5
- var designSystem = require('@strapi/design-system');
6
- var admin = require('@strapi/strapi/admin');
7
-
8
- const ProductStatusField = ()=>{
9
- const { contentType, id } = admin.unstable_useContentManagerContext();
10
- const [statuses, setStatuses] = React.useState([]);
11
- const [currentStatus, setCurrentStatus] = React.useState("");
12
- const [message, setMessage] = React.useState("");
13
- const { get, put } = admin.useFetchClient();
14
- const handleStatusChange = React.useCallback(async (newStatus)=>{
15
- if (!id) {
16
- setMessage("Save the product first and then change the status");
17
- return;
18
- }
19
- try {
20
- await put(`primershop-status-manager/content-status`, {
21
- contentTypeUid: "api::product.product",
22
- contentDocumentId: id,
23
- statusId: statuses.find((status)=>status.name === newStatus)?.documentId
24
- });
25
- setMessage(`Status updated ${currentStatus ? `from ${currentStatus}` : ""} to ${newStatus}`);
26
- setCurrentStatus(newStatus || "");
27
- } catch (error) {
28
- setMessage("Error updating status");
29
- console.error("Error updating status:", error);
30
- }
31
- }, [
32
- id,
33
- statuses,
34
- currentStatus,
35
- put
36
- ]);
37
- React.useEffect(()=>{
38
- async function fetchCurrentStatus() {
39
- try {
40
- const { data: productData } = await get(`primershop-status-manager/content-status?contentDocumentId=${id}&contentTypeUid=api::product.product`);
41
- const status = productData?.status;
42
- if (status && status.name) return setCurrentStatus(status.name);
43
- if (statuses.length) return handleStatusChange(statuses[0].name);
44
- } catch (error) {
45
- console.error("Error fetching product status:", error);
46
- }
47
- }
48
- if (id && !currentStatus.length) fetchCurrentStatus();
49
- if (!id && statuses.length) setCurrentStatus(statuses[0].name);
50
- }, [
51
- id,
52
- statuses,
53
- get
54
- ]);
55
- React.useEffect(()=>{
56
- async function fetchStatuses() {
57
- try {
58
- const { data } = await get("primershop-status-manager/statuses");
59
- setStatuses(data);
60
- } catch (error) {
61
- console.error("Error fetching statuses:", error);
62
- }
63
- }
64
- fetchStatuses();
65
- }, [
66
- get
67
- ]);
68
- return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
69
- direction: "column",
70
- justifyContent: "center",
71
- alignItems: "stretch",
72
- width: "100%",
73
- children: [
74
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
75
- padding: 2,
76
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Typography, {
77
- variant: "sigma",
78
- children: [
79
- contentType?.info.displayName,
80
- " status"
81
- ]
82
- })
83
- }),
84
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelect, {
85
- placeholder: currentStatus,
86
- onChange: handleStatusChange,
87
- children: statuses.map((status)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
88
- value: status.name,
89
- children: status.name
90
- }, status.documentId))
91
- }),
92
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
93
- padding: 2,
94
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
95
- variant: "sigma",
96
- children: message
97
- })
98
- })
99
- ]
100
- });
101
- };
102
-
103
- exports.ProductStatusField = ProductStatusField;
104
- //# sourceMappingURL=ProductStatusField.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProductStatusField.js","sources":["../../../admin/src/components/ProductStatusField.tsx"],"sourcesContent":["import React, { useEffect, useState, useCallback } from \"react\";\r\n\r\nimport {\r\n SingleSelect,\r\n SingleSelectOption,\r\n Box,\r\n Typography,\r\n Flex,\r\n} from \"@strapi/design-system\";\r\nimport {\r\n useFetchClient,\r\n unstable_useContentManagerContext as useContentManagerContext,\r\n} from \"@strapi/strapi/admin\";\r\n\r\ninterface Status {\r\n documentId: string;\r\n name: string;\r\n}\r\n\r\nconst ProductStatusField = () => {\r\n const { contentType, id } = useContentManagerContext();\r\n const [statuses, setStatuses] = useState<Status[]>([]);\r\n const [currentStatus, setCurrentStatus] = useState(\"\");\r\n const [message, setMessage] = useState(\"\");\r\n const { get, put } = useFetchClient();\r\n\r\n const handleStatusChange = useCallback(\r\n async (newStatus: string) => {\r\n if (!id) {\r\n setMessage(\"Save the product first and then change the status\");\r\n return;\r\n }\r\n try {\r\n await put(`primershop-status-manager/content-status`, {\r\n contentTypeUid: \"api::product.product\",\r\n contentDocumentId: id,\r\n statusId: statuses.find((status) => status.name === newStatus)\r\n ?.documentId,\r\n });\r\n setMessage(\r\n `Status updated ${currentStatus ? `from ${currentStatus}` : \"\"} to ${newStatus}`\r\n );\r\n setCurrentStatus(newStatus || \"\");\r\n } catch (error) {\r\n setMessage(\"Error updating status\");\r\n console.error(\"Error updating status:\", error);\r\n }\r\n },\r\n [id, statuses, currentStatus, put]\r\n );\r\n\r\n useEffect(() => {\r\n async function fetchCurrentStatus() {\r\n try {\r\n const { data: productData } = await get(\r\n `primershop-status-manager/content-status?contentDocumentId=${id}&contentTypeUid=api::product.product`\r\n );\r\n const status = productData?.status;\r\n if (status && status.name) return setCurrentStatus(status.name);\r\n if (statuses.length) return handleStatusChange(statuses[0].name);\r\n } catch (error) {\r\n console.error(\"Error fetching product status:\", error);\r\n }\r\n }\r\n if (id && !currentStatus.length) fetchCurrentStatus();\r\n if (!id && statuses.length) setCurrentStatus(statuses[0].name);\r\n }, [id, statuses, get]);\r\n\r\n useEffect(() => {\r\n async function fetchStatuses() {\r\n try {\r\n const { data } = await get(\"primershop-status-manager/statuses\");\r\n setStatuses(data);\r\n } catch (error) {\r\n console.error(\"Error fetching statuses:\", error);\r\n }\r\n }\r\n fetchStatuses();\r\n }, [get]);\r\n\r\n return (\r\n <Flex\r\n direction=\"column\"\r\n justifyContent=\"center\"\r\n alignItems=\"stretch\"\r\n width=\"100%\"\r\n >\r\n <Box padding={2}>\r\n <Typography variant=\"sigma\">\r\n {contentType?.info.displayName} status\r\n </Typography>\r\n </Box>\r\n <SingleSelect placeholder={currentStatus} onChange={handleStatusChange}>\r\n {statuses.map((status) => (\r\n <SingleSelectOption key={status.documentId} value={status.name}>\r\n {status.name}\r\n </SingleSelectOption>\r\n ))}\r\n </SingleSelect>\r\n <Box padding={2}>\r\n <Typography variant=\"sigma\">{message}</Typography>\r\n </Box>\r\n </Flex>\r\n );\r\n};\r\n\r\nexport { ProductStatusField };\r\n"],"names":["ProductStatusField","contentType","id","useContentManagerContext","statuses","setStatuses","useState","currentStatus","setCurrentStatus","message","setMessage","get","put","useFetchClient","handleStatusChange","useCallback","newStatus","contentTypeUid","contentDocumentId","statusId","find","status","name","documentId","error","console","useEffect","fetchCurrentStatus","data","productData","length","fetchStatuses","_jsxs","Flex","direction","justifyContent","alignItems","width","_jsx","Box","padding","Typography","variant","info","displayName","SingleSelect","placeholder","onChange","map","SingleSelectOption","value"],"mappings":";;;;;;;AAmBA,MAAMA,kBAAAA,GAAqB,IAAA;AACzB,IAAA,MAAM,EAAEC,WAAW,EAAEC,EAAE,EAAE,GAAGC,uCAAAA,EAAAA;AAC5B,IAAA,MAAM,CAACC,QAAAA,EAAUC,WAAAA,CAAY,GAAGC,eAAmB,EAAE,CAAA;AACrD,IAAA,MAAM,CAACC,aAAAA,EAAeC,gBAAAA,CAAiB,GAAGF,cAAAA,CAAS,EAAA,CAAA;AACnD,IAAA,MAAM,CAACG,OAAAA,EAASC,UAAAA,CAAW,GAAGJ,cAAAA,CAAS,EAAA,CAAA;AACvC,IAAA,MAAM,EAAEK,GAAG,EAAEC,GAAG,EAAE,GAAGC,oBAAAA,EAAAA;IAErB,MAAMC,kBAAAA,GAAqBC,kBACzB,OAAOC,SAAAA,GAAAA;AACL,QAAA,IAAI,CAACd,EAAAA,EAAI;YACPQ,UAAAA,CAAW,mDAAA,CAAA;AACX,YAAA;AACF,QAAA;QACA,IAAI;AACF,YAAA,MAAME,GAAAA,CAAI,CAAC,wCAAwC,CAAC,EAAE;gBACpDK,cAAAA,EAAgB,sBAAA;gBAChBC,iBAAAA,EAAmBhB,EAAAA;gBACnBiB,QAAAA,EAAUf,QAAAA,CAASgB,IAAI,CAAC,CAACC,SAAWA,MAAAA,CAAOC,IAAI,KAAKN,SAAAA,CAAAA,EAChDO;AACN,aAAA,CAAA;AACAb,YAAAA,UAAAA,CACE,CAAC,eAAe,EAAEH,aAAAA,GAAgB,CAAC,KAAK,EAAEA,aAAAA,CAAAA,CAAe,GAAG,EAAA,CAAG,IAAI,EAAES,SAAAA,CAAAA,CAAW,CAAA;AAElFR,YAAAA,gBAAAA,CAAiBQ,SAAAA,IAAa,EAAA,CAAA;AAChC,QAAA,CAAA,CAAE,OAAOQ,KAAAA,EAAO;YACdd,UAAAA,CAAW,uBAAA,CAAA;YACXe,OAAAA,CAAQD,KAAK,CAAC,wBAAA,EAA0BA,KAAAA,CAAAA;AAC1C,QAAA;IACF,CAAA,EACA;AAACtB,QAAAA,EAAAA;AAAIE,QAAAA,QAAAA;AAAUG,QAAAA,aAAAA;AAAeK,QAAAA;AAAI,KAAA,CAAA;IAGpCc,eAAAA,CAAU,IAAA;QACR,eAAeC,kBAAAA,GAAAA;YACb,IAAI;AACF,gBAAA,MAAM,EAAEC,IAAAA,EAAMC,WAAW,EAAE,GAAG,MAAMlB,GAAAA,CAClC,CAAC,2DAA2D,EAAET,EAAAA,CAAG,oCAAoC,CAAC,CAAA;AAExG,gBAAA,MAAMmB,SAASQ,WAAAA,EAAaR,MAAAA;AAC5B,gBAAA,IAAIA,UAAUA,MAAAA,CAAOC,IAAI,EAAE,OAAOd,gBAAAA,CAAiBa,OAAOC,IAAI,CAAA;gBAC9D,IAAIlB,QAAAA,CAAS0B,MAAM,EAAE,OAAOhB,mBAAmBV,QAAQ,CAAC,CAAA,CAAE,CAACkB,IAAI,CAAA;AACjE,YAAA,CAAA,CAAE,OAAOE,KAAAA,EAAO;gBACdC,OAAAA,CAAQD,KAAK,CAAC,gCAAA,EAAkCA,KAAAA,CAAAA;AAClD,YAAA;AACF,QAAA;AACA,QAAA,IAAItB,EAAAA,IAAM,CAACK,aAAAA,CAAcuB,MAAM,EAAEH,kBAAAA,EAAAA;QACjC,IAAI,CAACzB,EAAAA,IAAME,QAAAA,CAAS0B,MAAM,EAAEtB,iBAAiBJ,QAAQ,CAAC,CAAA,CAAE,CAACkB,IAAI,CAAA;IAC/D,CAAA,EAAG;AAACpB,QAAAA,EAAAA;AAAIE,QAAAA,QAAAA;AAAUO,QAAAA;AAAI,KAAA,CAAA;IAEtBe,eAAAA,CAAU,IAAA;QACR,eAAeK,aAAAA,GAAAA;YACb,IAAI;AACF,gBAAA,MAAM,EAAEH,IAAI,EAAE,GAAG,MAAMjB,GAAAA,CAAI,oCAAA,CAAA;gBAC3BN,WAAAA,CAAYuB,IAAAA,CAAAA;AACd,YAAA,CAAA,CAAE,OAAOJ,KAAAA,EAAO;gBACdC,OAAAA,CAAQD,KAAK,CAAC,0BAAA,EAA4BA,KAAAA,CAAAA;AAC5C,YAAA;AACF,QAAA;AACAO,QAAAA,aAAAA,EAAAA;IACF,CAAA,EAAG;AAACpB,QAAAA;AAAI,KAAA,CAAA;AAER,IAAA,qBACEqB,eAAA,CAACC,iBAAAA,EAAAA;QACCC,SAAAA,EAAU,QAAA;QACVC,cAAAA,EAAe,QAAA;QACfC,UAAAA,EAAW,SAAA;QACXC,KAAAA,EAAM,MAAA;;0BAENC,cAAA,CAACC,gBAAAA,EAAAA;gBAAIC,OAAAA,EAAS,CAAA;AACZ,gBAAA,QAAA,gBAAAR,eAAA,CAACS,uBAAAA,EAAAA;oBAAWC,OAAAA,EAAQ,OAAA;;AACjBzC,wBAAAA,WAAAA,EAAa0C,IAAAA,CAAKC,WAAAA;AAAY,wBAAA;;;;0BAGnCN,cAAA,CAACO,yBAAAA,EAAAA;gBAAaC,WAAAA,EAAavC,aAAAA;gBAAewC,QAAAA,EAAUjC,kBAAAA;AACjDV,gBAAAA,QAAAA,EAAAA,QAAAA,CAAS4C,GAAG,CAAC,CAAC3B,MAAAA,iBACbiB,cAAA,CAACW,+BAAAA,EAAAA;AAA2CC,wBAAAA,KAAAA,EAAO7B,OAAOC,IAAI;AAC3DD,wBAAAA,QAAAA,EAAAA,MAAAA,CAAOC;AADeD,qBAAAA,EAAAA,MAAAA,CAAOE,UAAU,CAAA;;0BAK9Ce,cAAA,CAACC,gBAAAA,EAAAA;gBAAIC,OAAAA,EAAS,CAAA;AACZ,gBAAA,QAAA,gBAAAF,cAAA,CAACG,uBAAAA,EAAAA;oBAAWC,OAAAA,EAAQ,OAAA;AAASjC,oBAAAA,QAAAA,EAAAA;;;;;AAIrC;;;;"}
@@ -1,102 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { useState, useCallback, useEffect } from 'react';
3
- import { Flex, Box, Typography, SingleSelect, SingleSelectOption } from '@strapi/design-system';
4
- import { unstable_useContentManagerContext, useFetchClient } from '@strapi/strapi/admin';
5
-
6
- const ProductStatusField = ()=>{
7
- const { contentType, id } = unstable_useContentManagerContext();
8
- const [statuses, setStatuses] = useState([]);
9
- const [currentStatus, setCurrentStatus] = useState("");
10
- const [message, setMessage] = useState("");
11
- const { get, put } = useFetchClient();
12
- const handleStatusChange = useCallback(async (newStatus)=>{
13
- if (!id) {
14
- setMessage("Save the product first and then change the status");
15
- return;
16
- }
17
- try {
18
- await put(`primershop-status-manager/content-status`, {
19
- contentTypeUid: "api::product.product",
20
- contentDocumentId: id,
21
- statusId: statuses.find((status)=>status.name === newStatus)?.documentId
22
- });
23
- setMessage(`Status updated ${currentStatus ? `from ${currentStatus}` : ""} to ${newStatus}`);
24
- setCurrentStatus(newStatus || "");
25
- } catch (error) {
26
- setMessage("Error updating status");
27
- console.error("Error updating status:", error);
28
- }
29
- }, [
30
- id,
31
- statuses,
32
- currentStatus,
33
- put
34
- ]);
35
- useEffect(()=>{
36
- async function fetchCurrentStatus() {
37
- try {
38
- const { data: productData } = await get(`primershop-status-manager/content-status?contentDocumentId=${id}&contentTypeUid=api::product.product`);
39
- const status = productData?.status;
40
- if (status && status.name) return setCurrentStatus(status.name);
41
- if (statuses.length) return handleStatusChange(statuses[0].name);
42
- } catch (error) {
43
- console.error("Error fetching product status:", error);
44
- }
45
- }
46
- if (id && !currentStatus.length) fetchCurrentStatus();
47
- if (!id && statuses.length) setCurrentStatus(statuses[0].name);
48
- }, [
49
- id,
50
- statuses,
51
- get
52
- ]);
53
- useEffect(()=>{
54
- async function fetchStatuses() {
55
- try {
56
- const { data } = await get("primershop-status-manager/statuses");
57
- setStatuses(data);
58
- } catch (error) {
59
- console.error("Error fetching statuses:", error);
60
- }
61
- }
62
- fetchStatuses();
63
- }, [
64
- get
65
- ]);
66
- return /*#__PURE__*/ jsxs(Flex, {
67
- direction: "column",
68
- justifyContent: "center",
69
- alignItems: "stretch",
70
- width: "100%",
71
- children: [
72
- /*#__PURE__*/ jsx(Box, {
73
- padding: 2,
74
- children: /*#__PURE__*/ jsxs(Typography, {
75
- variant: "sigma",
76
- children: [
77
- contentType?.info.displayName,
78
- " status"
79
- ]
80
- })
81
- }),
82
- /*#__PURE__*/ jsx(SingleSelect, {
83
- placeholder: currentStatus,
84
- onChange: handleStatusChange,
85
- children: statuses.map((status)=>/*#__PURE__*/ jsx(SingleSelectOption, {
86
- value: status.name,
87
- children: status.name
88
- }, status.documentId))
89
- }),
90
- /*#__PURE__*/ jsx(Box, {
91
- padding: 2,
92
- children: /*#__PURE__*/ jsx(Typography, {
93
- variant: "sigma",
94
- children: message
95
- })
96
- })
97
- ]
98
- });
99
- };
100
-
101
- export { ProductStatusField };
102
- //# sourceMappingURL=ProductStatusField.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProductStatusField.mjs","sources":["../../../admin/src/components/ProductStatusField.tsx"],"sourcesContent":["import React, { useEffect, useState, useCallback } from \"react\";\r\n\r\nimport {\r\n SingleSelect,\r\n SingleSelectOption,\r\n Box,\r\n Typography,\r\n Flex,\r\n} from \"@strapi/design-system\";\r\nimport {\r\n useFetchClient,\r\n unstable_useContentManagerContext as useContentManagerContext,\r\n} from \"@strapi/strapi/admin\";\r\n\r\ninterface Status {\r\n documentId: string;\r\n name: string;\r\n}\r\n\r\nconst ProductStatusField = () => {\r\n const { contentType, id } = useContentManagerContext();\r\n const [statuses, setStatuses] = useState<Status[]>([]);\r\n const [currentStatus, setCurrentStatus] = useState(\"\");\r\n const [message, setMessage] = useState(\"\");\r\n const { get, put } = useFetchClient();\r\n\r\n const handleStatusChange = useCallback(\r\n async (newStatus: string) => {\r\n if (!id) {\r\n setMessage(\"Save the product first and then change the status\");\r\n return;\r\n }\r\n try {\r\n await put(`primershop-status-manager/content-status`, {\r\n contentTypeUid: \"api::product.product\",\r\n contentDocumentId: id,\r\n statusId: statuses.find((status) => status.name === newStatus)\r\n ?.documentId,\r\n });\r\n setMessage(\r\n `Status updated ${currentStatus ? `from ${currentStatus}` : \"\"} to ${newStatus}`\r\n );\r\n setCurrentStatus(newStatus || \"\");\r\n } catch (error) {\r\n setMessage(\"Error updating status\");\r\n console.error(\"Error updating status:\", error);\r\n }\r\n },\r\n [id, statuses, currentStatus, put]\r\n );\r\n\r\n useEffect(() => {\r\n async function fetchCurrentStatus() {\r\n try {\r\n const { data: productData } = await get(\r\n `primershop-status-manager/content-status?contentDocumentId=${id}&contentTypeUid=api::product.product`\r\n );\r\n const status = productData?.status;\r\n if (status && status.name) return setCurrentStatus(status.name);\r\n if (statuses.length) return handleStatusChange(statuses[0].name);\r\n } catch (error) {\r\n console.error(\"Error fetching product status:\", error);\r\n }\r\n }\r\n if (id && !currentStatus.length) fetchCurrentStatus();\r\n if (!id && statuses.length) setCurrentStatus(statuses[0].name);\r\n }, [id, statuses, get]);\r\n\r\n useEffect(() => {\r\n async function fetchStatuses() {\r\n try {\r\n const { data } = await get(\"primershop-status-manager/statuses\");\r\n setStatuses(data);\r\n } catch (error) {\r\n console.error(\"Error fetching statuses:\", error);\r\n }\r\n }\r\n fetchStatuses();\r\n }, [get]);\r\n\r\n return (\r\n <Flex\r\n direction=\"column\"\r\n justifyContent=\"center\"\r\n alignItems=\"stretch\"\r\n width=\"100%\"\r\n >\r\n <Box padding={2}>\r\n <Typography variant=\"sigma\">\r\n {contentType?.info.displayName} status\r\n </Typography>\r\n </Box>\r\n <SingleSelect placeholder={currentStatus} onChange={handleStatusChange}>\r\n {statuses.map((status) => (\r\n <SingleSelectOption key={status.documentId} value={status.name}>\r\n {status.name}\r\n </SingleSelectOption>\r\n ))}\r\n </SingleSelect>\r\n <Box padding={2}>\r\n <Typography variant=\"sigma\">{message}</Typography>\r\n </Box>\r\n </Flex>\r\n );\r\n};\r\n\r\nexport { ProductStatusField };\r\n"],"names":["ProductStatusField","contentType","id","useContentManagerContext","statuses","setStatuses","useState","currentStatus","setCurrentStatus","message","setMessage","get","put","useFetchClient","handleStatusChange","useCallback","newStatus","contentTypeUid","contentDocumentId","statusId","find","status","name","documentId","error","console","useEffect","fetchCurrentStatus","data","productData","length","fetchStatuses","_jsxs","Flex","direction","justifyContent","alignItems","width","_jsx","Box","padding","Typography","variant","info","displayName","SingleSelect","placeholder","onChange","map","SingleSelectOption","value"],"mappings":"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"}