@umbraco-cms/backoffice 14.0.0-a0074b6e → 14.0.0-a8030000

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 (118) hide show
  1. package/dist-cms/apps/app/app.element.js +4 -1
  2. package/dist-cms/apps/app/index.d.ts +1 -0
  3. package/dist-cms/apps/app/index.js +1 -0
  4. package/dist-cms/apps/backoffice/backoffice.element.js +1 -0
  5. package/dist-cms/custom-elements.json +173 -140
  6. package/dist-cms/mocks/browser-handlers.js +2 -0
  7. package/dist-cms/mocks/data/scripts.data.d.ts +21 -0
  8. package/dist-cms/mocks/data/scripts.data.js +205 -0
  9. package/dist-cms/mocks/handlers/scripts.handlers.d.ts +2 -0
  10. package/dist-cms/mocks/handlers/scripts.handlers.js +83 -0
  11. package/dist-cms/packages/core/content-type/content-type-property-structure-helper.class.d.ts +1 -1
  12. package/dist-cms/packages/core/content-type/content-type-property-structure-helper.class.js +1 -1
  13. package/dist-cms/packages/core/culture/components/index.d.ts +1 -0
  14. package/dist-cms/packages/core/culture/components/index.js +1 -0
  15. package/dist-cms/packages/{settings/cultures → core/culture}/components/input-culture-select/input-culture-select.element.js +5 -5
  16. package/dist-cms/packages/core/culture/index.d.ts +2 -0
  17. package/dist-cms/packages/core/culture/index.js +2 -0
  18. package/dist-cms/packages/core/culture/manifests.d.ts +1 -0
  19. package/dist-cms/packages/{settings/cultures → core/culture}/repository/culture.repository.js +1 -1
  20. package/dist-cms/packages/{settings/cultures → core/culture}/repository/manifests.d.ts +1 -1
  21. package/dist-cms/packages/{settings/cultures → core/culture}/repository/manifests.js +1 -1
  22. package/dist-cms/packages/core/index.d.ts +1 -0
  23. package/dist-cms/packages/core/index.js +3 -0
  24. package/dist-cms/packages/core/modal/common/property-settings/property-settings-modal.element.d.ts +1 -0
  25. package/dist-cms/packages/core/modal/common/property-settings/property-settings-modal.element.js +37 -4
  26. package/dist-cms/packages/core/modal/token/property-settings-modal.token.d.ts +5 -2
  27. package/dist-cms/packages/documents/dashboards/redirect-management/dashboard-redirect-management.element.d.ts +5 -17
  28. package/dist-cms/packages/documents/dashboards/redirect-management/dashboard-redirect-management.element.js +184 -214
  29. package/dist-cms/packages/documents/document-types/index.d.ts +1 -0
  30. package/dist-cms/packages/documents/document-types/index.js +1 -0
  31. package/dist-cms/packages/documents/document-types/repository/document-type.repository.d.ts +2 -2
  32. package/dist-cms/packages/documents/document-types/repository/document-type.store.d.ts +2 -2
  33. package/dist-cms/packages/documents/document-types/repository/index.d.ts +3 -0
  34. package/dist-cms/packages/documents/document-types/repository/index.js +3 -0
  35. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-properties.element.js +8 -2
  36. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-property.element.js +7 -1
  37. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/dashboard-health-check.element.d.ts +1 -1
  38. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/dashboard-health-check.element.js +5 -5
  39. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/health-check-dashboard.context.d.ts +2 -2
  40. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/health-check-dashboard.context.js +1 -1
  41. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/health-check.context.d.ts +3 -3
  42. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/health-check.context.js +4 -4
  43. package/dist-cms/packages/health-check/index.d.ts +1 -0
  44. package/dist-cms/packages/health-check/index.js +1 -0
  45. package/dist-cms/packages/health-check/manifests.d.ts +16 -0
  46. package/dist-cms/packages/health-check/manifests.js +20 -0
  47. package/dist-cms/packages/health-check/umbraco-package.d.ts +7 -0
  48. package/dist-cms/packages/health-check/umbraco-package.js +9 -0
  49. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/views/health-check-action.element.d.ts +2 -2
  50. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/views/health-check-action.element.js +5 -5
  51. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/views/health-check-group-box-overview.element.d.ts +2 -2
  52. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/views/health-check-group-box-overview.element.js +5 -5
  53. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/views/health-check-group.element.d.ts +2 -2
  54. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/views/health-check-group.element.js +5 -5
  55. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/views/health-check-overview.element.d.ts +1 -1
  56. package/dist-cms/packages/{settings/dashboards/health-check → health-check}/views/health-check-overview.element.js +3 -3
  57. package/dist-cms/packages/settings/dashboards/manifests.js +0 -18
  58. package/dist-cms/packages/settings/manifests.js +0 -2
  59. package/dist-cms/packages/templating/manifests.js +2 -0
  60. package/dist-cms/packages/templating/scripts/config.d.ts +20 -0
  61. package/dist-cms/packages/templating/scripts/config.js +22 -0
  62. package/dist-cms/packages/templating/scripts/entity-actions/create/create-empty.action.d.ts +8 -0
  63. package/dist-cms/packages/templating/scripts/entity-actions/create/create-empty.action.js +9 -0
  64. package/dist-cms/packages/templating/scripts/entity-actions/manifests.d.ts +2 -0
  65. package/dist-cms/packages/templating/scripts/entity-actions/manifests.js +56 -0
  66. package/dist-cms/packages/templating/scripts/index.d.ts +2 -0
  67. package/dist-cms/packages/templating/scripts/index.js +2 -0
  68. package/dist-cms/packages/templating/scripts/manifests.d.ts +1 -0
  69. package/dist-cms/packages/templating/scripts/manifests.js +12 -0
  70. package/dist-cms/packages/templating/scripts/menu-item/manifests.d.ts +1 -0
  71. package/dist-cms/packages/templating/scripts/menu-item/manifests.js +16 -0
  72. package/dist-cms/packages/templating/scripts/repository/index.d.ts +1 -0
  73. package/dist-cms/packages/templating/scripts/repository/index.js +1 -0
  74. package/dist-cms/packages/templating/scripts/repository/manifests.d.ts +2 -0
  75. package/dist-cms/packages/templating/scripts/repository/manifests.js +23 -0
  76. package/dist-cms/packages/templating/scripts/repository/scripts.repository.d.ts +71 -0
  77. package/dist-cms/packages/templating/scripts/repository/scripts.repository.js +154 -0
  78. package/dist-cms/packages/templating/scripts/repository/scripts.store.d.ts +31 -0
  79. package/dist-cms/packages/templating/scripts/repository/scripts.store.js +37 -0
  80. package/dist-cms/packages/templating/scripts/repository/scripts.tree.store.d.ts +19 -0
  81. package/dist-cms/packages/templating/scripts/repository/scripts.tree.store.js +21 -0
  82. package/dist-cms/packages/templating/scripts/repository/sources/index.d.ts +11 -0
  83. package/dist-cms/packages/templating/scripts/repository/sources/index.js +1 -0
  84. package/dist-cms/packages/templating/scripts/repository/sources/scripts.detail.server.data.d.ts +41 -0
  85. package/dist-cms/packages/templating/scripts/repository/sources/scripts.detail.server.data.js +57 -0
  86. package/dist-cms/packages/templating/scripts/repository/sources/scripts.folder.server.data.d.ts +17 -0
  87. package/dist-cms/packages/templating/scripts/repository/sources/scripts.folder.server.data.js +23 -0
  88. package/dist-cms/packages/templating/scripts/repository/sources/scripts.tree.server.data.d.ts +14 -0
  89. package/dist-cms/packages/templating/scripts/repository/sources/scripts.tree.server.data.js +31 -0
  90. package/dist-cms/packages/templating/scripts/tree/manifests.d.ts +2 -0
  91. package/dist-cms/packages/templating/scripts/tree/manifests.js +20 -0
  92. package/dist-cms/packages/templating/scripts/workspace/manifests.d.ts +2 -0
  93. package/dist-cms/packages/templating/scripts/workspace/manifests.js +32 -0
  94. package/dist-cms/packages/templating/scripts/workspace/scripts-workspace-edit.element.d.ts +24 -0
  95. package/dist-cms/packages/templating/scripts/workspace/scripts-workspace-edit.element.js +171 -0
  96. package/dist-cms/packages/templating/scripts/workspace/scripts-workspace.context.d.ts +23 -0
  97. package/dist-cms/packages/templating/scripts/workspace/scripts-workspace.context.js +87 -0
  98. package/dist-cms/packages/templating/scripts/workspace/scripts-workspace.element.d.ts +14 -0
  99. package/dist-cms/packages/templating/scripts/workspace/scripts-workspace.element.js +50 -0
  100. package/dist-cms/packages/users/current-user/modals/current-user/current-user-modal.element.js +2 -2
  101. package/dist-cms/shared/auth/auth-flow.js +3 -1
  102. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  103. package/dist-cms/vscode-html-custom-data.json +86 -72
  104. package/package.json +3 -2
  105. package/dist-cms/packages/settings/cultures/components/index.d.ts +0 -1
  106. package/dist-cms/packages/settings/cultures/components/index.js +0 -1
  107. package/dist-cms/packages/settings/cultures/manifests.d.ts +0 -1
  108. package/dist-cms/shared/context/index.d.ts +0 -1
  109. package/dist-cms/shared/context/index.js +0 -1
  110. /package/dist-cms/{shared/context → apps/app}/app.context.d.ts +0 -0
  111. /package/dist-cms/{shared/context → apps/app}/app.context.js +0 -0
  112. /package/dist-cms/packages/{settings/cultures → core/culture}/components/input-culture-select/input-culture-select.element.d.ts +0 -0
  113. /package/dist-cms/packages/{settings/cultures → core/culture}/manifests.js +0 -0
  114. /package/dist-cms/packages/{settings/cultures → core/culture}/repository/culture.repository.d.ts +0 -0
  115. /package/dist-cms/packages/{settings/cultures → core/culture}/repository/sources/culture.server.data.d.ts +0 -0
  116. /package/dist-cms/packages/{settings/cultures → core/culture}/repository/sources/culture.server.data.js +0 -0
  117. /package/dist-cms/packages/{settings/cultures → core/culture}/repository/sources/index.d.ts +0 -0
  118. /package/dist-cms/packages/{settings/cultures → core/culture}/repository/sources/index.js +0 -0
@@ -4,9 +4,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ import { UMB_APP, UmbAppContext } from './app.context.js';
7
8
  import { umbLocalizationRegistry } from '../../packages/core/localization/index.js';
8
9
  import { UMB_AUTH, UmbAuthFlow, UmbAuthContext } from '../../shared/auth/index.js';
9
- import { UMB_APP, UmbAppContext } from '../../shared/context/index.js';
10
10
  import { css, html, customElement, property } from '../../external/lit/index.js';
11
11
  import { UUIIconRegistryEssential } from '../../external/uui/index.js';
12
12
  import { UmbIconRegistry } from '../../shared/icon-registry/index.js';
@@ -96,6 +96,9 @@ export let UmbAppElement = class UmbAppElement extends UmbLitElement {
96
96
  this.provideContext(UMB_APP, new UmbAppContext({ backofficePath: this.backofficePath, serverUrl: this.serverUrl }));
97
97
  // Try to initialise the auth flow and get the runtime status
98
98
  try {
99
+ if (this.bypassAuth === false) {
100
+ await this.#authFlow.fetchServiceConfiguration();
101
+ }
99
102
  // Get the current runtime level
100
103
  await this.#setInitStatus();
101
104
  // If the runtime level is "install" we should clear any cached tokens
@@ -1,3 +1,4 @@
1
1
  export * from './app-context-config.interface.js';
2
2
  export * from './app-error.element.js';
3
3
  export * from './app.element.js';
4
+ export * from './app.context.js';
@@ -1,3 +1,4 @@
1
1
  export * from './app-context-config.interface.js';
2
2
  export * from './app-error.element.js';
3
3
  export * from './app.element.js';
4
+ export * from './app.context.js';
@@ -26,6 +26,7 @@ const CORE_PACKAGES = [
26
26
  import('../../packages/umbraco-news/umbraco-package.js'),
27
27
  import('../../packages/tags/umbraco-package.js'),
28
28
  import('../../packages/log-viewer/umbraco-package.js'),
29
+ import('../../packages/health-check/umbraco-package.js'),
29
30
  ];
30
31
  export let UmbBackofficeElement = class UmbBackofficeElement extends UmbLitElement {
31
32
  constructor() {
@@ -1860,6 +1860,44 @@
1860
1860
  }
1861
1861
  ]
1862
1862
  },
1863
+ {
1864
+ "name": "umb-input-culture-select",
1865
+ "path": "./../src/packages/core/culture/components/input-culture-select/input-culture-select.element.ts",
1866
+ "attributes": [
1867
+ {
1868
+ "name": "disabled",
1869
+ "description": "Disables the input",
1870
+ "type": "boolean",
1871
+ "default": "\"false\""
1872
+ },
1873
+ {
1874
+ "name": "readonly",
1875
+ "description": "Disables the input",
1876
+ "type": "boolean",
1877
+ "default": "\"false\""
1878
+ }
1879
+ ],
1880
+ "properties": [
1881
+ {
1882
+ "name": "disabled",
1883
+ "attribute": "disabled",
1884
+ "description": "Disables the input",
1885
+ "type": "boolean",
1886
+ "default": "\"false\""
1887
+ },
1888
+ {
1889
+ "name": "readonly",
1890
+ "attribute": "readonly",
1891
+ "description": "Disables the input",
1892
+ "type": "boolean",
1893
+ "default": "\"false\""
1894
+ },
1895
+ {
1896
+ "name": "selectedCultureName",
1897
+ "type": "string | undefined"
1898
+ }
1899
+ ]
1900
+ },
1863
1901
  {
1864
1902
  "name": "umb-debug",
1865
1903
  "path": "./../src/packages/core/debug/debug.element.ts",
@@ -4573,6 +4611,11 @@
4573
4611
  "name": "items-per-page",
4574
4612
  "type": "number",
4575
4613
  "default": "20"
4614
+ },
4615
+ {
4616
+ "name": "page",
4617
+ "type": "number",
4618
+ "default": "1"
4576
4619
  }
4577
4620
  ],
4578
4621
  "properties": [
@@ -4582,6 +4625,12 @@
4582
4625
  "type": "number",
4583
4626
  "default": "20"
4584
4627
  },
4628
+ {
4629
+ "name": "page",
4630
+ "attribute": "page",
4631
+ "type": "number",
4632
+ "default": "1"
4633
+ },
4585
4634
  {
4586
4635
  "name": "styles",
4587
4636
  "type": "array",
@@ -5181,6 +5230,108 @@
5181
5230
  }
5182
5231
  ]
5183
5232
  },
5233
+ {
5234
+ "name": "umb-dashboard-health-check",
5235
+ "path": "./../src/packages/health-check/dashboard-health-check.element.ts"
5236
+ },
5237
+ {
5238
+ "name": "umb-dashboard-health-check-action",
5239
+ "path": "./../src/packages/health-check/views/health-check-action.element.ts",
5240
+ "attributes": [
5241
+ {
5242
+ "name": "action"
5243
+ }
5244
+ ],
5245
+ "properties": [
5246
+ {
5247
+ "name": "action",
5248
+ "attribute": "action"
5249
+ },
5250
+ {
5251
+ "name": "styles",
5252
+ "type": "array",
5253
+ "default": "[\"UmbTextStyles\",null]"
5254
+ }
5255
+ ],
5256
+ "events": [
5257
+ {
5258
+ "name": "action-executed"
5259
+ }
5260
+ ]
5261
+ },
5262
+ {
5263
+ "name": "umb-health-check-group-box-overview",
5264
+ "path": "./../src/packages/health-check/views/health-check-group-box-overview.element.ts",
5265
+ "attributes": [
5266
+ {
5267
+ "name": "manifest"
5268
+ }
5269
+ ],
5270
+ "properties": [
5271
+ {
5272
+ "name": "manifest",
5273
+ "attribute": "manifest"
5274
+ },
5275
+ {
5276
+ "name": "styles",
5277
+ "type": "array",
5278
+ "default": "[\"UmbTextStyles\",null]"
5279
+ }
5280
+ ]
5281
+ },
5282
+ {
5283
+ "name": "umb-health-check--group-box-overview",
5284
+ "path": "./../src/packages/health-check/views/health-check-group-box-overview.element.ts",
5285
+ "attributes": [
5286
+ {
5287
+ "name": "manifest"
5288
+ }
5289
+ ],
5290
+ "properties": [
5291
+ {
5292
+ "name": "manifest",
5293
+ "attribute": "manifest"
5294
+ },
5295
+ {
5296
+ "name": "styles",
5297
+ "type": "array",
5298
+ "default": "[\"UmbTextStyles\",null]"
5299
+ }
5300
+ ]
5301
+ },
5302
+ {
5303
+ "name": "umb-dashboard-health-check-group",
5304
+ "path": "./../src/packages/health-check/views/health-check-group.element.ts",
5305
+ "attributes": [
5306
+ {
5307
+ "name": "groupName",
5308
+ "type": "string"
5309
+ }
5310
+ ],
5311
+ "properties": [
5312
+ {
5313
+ "name": "groupName",
5314
+ "attribute": "groupName",
5315
+ "type": "string"
5316
+ },
5317
+ {
5318
+ "name": "styles",
5319
+ "type": "array",
5320
+ "default": "[\"UmbTextStyles\",null]"
5321
+ }
5322
+ ]
5323
+ },
5324
+ {
5325
+ "name": "umb-dashboard-health-check-overview",
5326
+ "path": "./../src/packages/health-check/views/health-check-overview.element.ts",
5327
+ "properties": [
5328
+ {
5329
+ "name": "styles",
5330
+ "type": "array",
5331
+ "default": "[\"UmbTextStyles\",null]"
5332
+ }
5333
+ ]
5334
+ },
5184
5335
  {
5185
5336
  "name": "umb-donut-chart",
5186
5337
  "path": "./../src/packages/log-viewer/components/donut-chart/donut-chart.element.ts",
@@ -6114,146 +6265,6 @@
6114
6265
  }
6115
6266
  ]
6116
6267
  },
6117
- {
6118
- "name": "umb-input-culture-select",
6119
- "path": "./../src/packages/settings/cultures/components/input-culture-select/input-culture-select.element.ts",
6120
- "attributes": [
6121
- {
6122
- "name": "disabled",
6123
- "description": "Disables the input",
6124
- "type": "boolean",
6125
- "default": "\"false\""
6126
- },
6127
- {
6128
- "name": "readonly",
6129
- "description": "Disables the input",
6130
- "type": "boolean",
6131
- "default": "\"false\""
6132
- }
6133
- ],
6134
- "properties": [
6135
- {
6136
- "name": "disabled",
6137
- "attribute": "disabled",
6138
- "description": "Disables the input",
6139
- "type": "boolean",
6140
- "default": "\"false\""
6141
- },
6142
- {
6143
- "name": "readonly",
6144
- "attribute": "readonly",
6145
- "description": "Disables the input",
6146
- "type": "boolean",
6147
- "default": "\"false\""
6148
- },
6149
- {
6150
- "name": "selectedCultureName",
6151
- "type": "string | undefined"
6152
- }
6153
- ]
6154
- },
6155
- {
6156
- "name": "umb-dashboard-health-check",
6157
- "path": "./../src/packages/settings/dashboards/health-check/dashboard-health-check.element.ts"
6158
- },
6159
- {
6160
- "name": "umb-dashboard-health-check-action",
6161
- "path": "./../src/packages/settings/dashboards/health-check/views/health-check-action.element.ts",
6162
- "attributes": [
6163
- {
6164
- "name": "action"
6165
- }
6166
- ],
6167
- "properties": [
6168
- {
6169
- "name": "action",
6170
- "attribute": "action"
6171
- },
6172
- {
6173
- "name": "styles",
6174
- "type": "array",
6175
- "default": "[\"UmbTextStyles\",null]"
6176
- }
6177
- ],
6178
- "events": [
6179
- {
6180
- "name": "action-executed"
6181
- }
6182
- ]
6183
- },
6184
- {
6185
- "name": "umb-health-check-group-box-overview",
6186
- "path": "./../src/packages/settings/dashboards/health-check/views/health-check-group-box-overview.element.ts",
6187
- "attributes": [
6188
- {
6189
- "name": "manifest"
6190
- }
6191
- ],
6192
- "properties": [
6193
- {
6194
- "name": "manifest",
6195
- "attribute": "manifest"
6196
- },
6197
- {
6198
- "name": "styles",
6199
- "type": "array",
6200
- "default": "[\"UmbTextStyles\",null]"
6201
- }
6202
- ]
6203
- },
6204
- {
6205
- "name": "umb-health-check--group-box-overview",
6206
- "path": "./../src/packages/settings/dashboards/health-check/views/health-check-group-box-overview.element.ts",
6207
- "attributes": [
6208
- {
6209
- "name": "manifest"
6210
- }
6211
- ],
6212
- "properties": [
6213
- {
6214
- "name": "manifest",
6215
- "attribute": "manifest"
6216
- },
6217
- {
6218
- "name": "styles",
6219
- "type": "array",
6220
- "default": "[\"UmbTextStyles\",null]"
6221
- }
6222
- ]
6223
- },
6224
- {
6225
- "name": "umb-dashboard-health-check-group",
6226
- "path": "./../src/packages/settings/dashboards/health-check/views/health-check-group.element.ts",
6227
- "attributes": [
6228
- {
6229
- "name": "groupName",
6230
- "type": "string"
6231
- }
6232
- ],
6233
- "properties": [
6234
- {
6235
- "name": "groupName",
6236
- "attribute": "groupName",
6237
- "type": "string"
6238
- },
6239
- {
6240
- "name": "styles",
6241
- "type": "array",
6242
- "default": "[\"UmbTextStyles\",null]"
6243
- }
6244
- ]
6245
- },
6246
- {
6247
- "name": "umb-dashboard-health-check-overview",
6248
- "path": "./../src/packages/settings/dashboards/health-check/views/health-check-overview.element.ts",
6249
- "properties": [
6250
- {
6251
- "name": "styles",
6252
- "type": "array",
6253
- "default": "[\"UmbTextStyles\",null]"
6254
- }
6255
- ]
6256
- },
6257
6268
  {
6258
6269
  "name": "umb-dashboard-models-builder",
6259
6270
  "path": "./../src/packages/settings/dashboards/models-builder/dashboard-models-builder.element.ts",
@@ -7269,6 +7280,28 @@
7269
7280
  }
7270
7281
  ]
7271
7282
  },
7283
+ {
7284
+ "name": "umb-scripts-workspace-edit",
7285
+ "path": "./../src/packages/templating/scripts/workspace/scripts-workspace-edit.element.ts",
7286
+ "properties": [
7287
+ {
7288
+ "name": "styles",
7289
+ "type": "array",
7290
+ "default": "[\"UUITextStyles\",null]"
7291
+ }
7292
+ ]
7293
+ },
7294
+ {
7295
+ "name": "umb-scripts-workspace",
7296
+ "path": "./../src/packages/templating/scripts/workspace/scripts-workspace.element.ts",
7297
+ "properties": [
7298
+ {
7299
+ "name": "styles",
7300
+ "type": "array",
7301
+ "default": "[\"UUITextStyles\",null]"
7302
+ }
7303
+ ]
7304
+ },
7272
7305
  {
7273
7306
  "name": "umb-stylesheet-workspace-editor",
7274
7307
  "path": "./../src/packages/templating/stylesheets/workspace/stylesheet-workspace-editor.element.ts",
@@ -31,6 +31,7 @@ import { handlers as stylesheetHandlers } from './handlers/stylesheet.handlers.j
31
31
  import { handlers as partialViewsHandlers } from './handlers/partial-views.handlers.js';
32
32
  import { handlers as tagHandlers } from './handlers/tag-handlers.js';
33
33
  import { handlers as configHandlers } from './handlers/config.handlers.js';
34
+ import { handlers as scriptHandlers } from './handlers/scripts.handlers.js';
34
35
  const handlers = [
35
36
  serverHandlers.serverVersionHandler,
36
37
  ...installHandlers,
@@ -64,6 +65,7 @@ const handlers = [
64
65
  ...partialViewsHandlers,
65
66
  ...tagHandlers,
66
67
  ...configHandlers,
68
+ ...scriptHandlers,
67
69
  ];
68
70
  switch (import.meta.env.VITE_UMBRACO_INSTALL_STATUS) {
69
71
  case 'must-install':
@@ -0,0 +1,21 @@
1
+ import { UmbData } from './data.js';
2
+ import { CreatePathFolderRequestModel, CreateTextFileViewModelBaseModel, FileSystemTreeItemPresentationModel, PagedFileSystemTreeItemPresentationModel, ScriptItemResponseModel, ScriptResponseModel, UpdateScriptRequestModel } from '../../external/backend-api/index.js';
3
+ type ScriptsDataItem = ScriptResponseModel & FileSystemTreeItemPresentationModel;
4
+ export declare const data: Array<ScriptsDataItem>;
5
+ declare class UmbScriptsData extends UmbData<ScriptsDataItem> {
6
+ constructor();
7
+ getTreeRoot(): PagedFileSystemTreeItemPresentationModel;
8
+ getTreeItemChildren(parentPath: string): PagedFileSystemTreeItemPresentationModel;
9
+ getTreeItem(paths: Array<string>): Array<FileSystemTreeItemPresentationModel>;
10
+ getItem(paths: Array<string>): Array<ScriptItemResponseModel>;
11
+ getFolder(path: string): FileSystemTreeItemPresentationModel;
12
+ postFolder(payload: CreatePathFolderRequestModel): ScriptsDataItem;
13
+ deleteFolder(path: string): (string | undefined)[];
14
+ getScript(path: string): ScriptResponseModel | undefined;
15
+ insertScript(item: CreateTextFileViewModelBaseModel): ScriptsDataItem;
16
+ insert(item: ScriptsDataItem): ScriptsDataItem;
17
+ updateData(updateItem: UpdateScriptRequestModel): void;
18
+ delete(paths: Array<string>): (string | undefined)[];
19
+ }
20
+ export declare const umbScriptsData: UmbScriptsData;
21
+ export {};
@@ -0,0 +1,205 @@
1
+ import { UmbData } from './data.js';
2
+ import { createFileItemResponseModelBaseModel, createFileSystemTreeItem, createTextFileItem } from './utils.js';
3
+ export const data = [
4
+ {
5
+ path: 'some-folder',
6
+ isFolder: true,
7
+ name: 'some-folder',
8
+ type: 'script',
9
+ hasChildren: true,
10
+ },
11
+ {
12
+ path: 'another-folder',
13
+ isFolder: true,
14
+ name: 'another-folder',
15
+ type: 'script',
16
+ hasChildren: true,
17
+ },
18
+ {
19
+ path: 'very important folder',
20
+ isFolder: true,
21
+ name: 'very important folder',
22
+ type: 'script',
23
+ hasChildren: true,
24
+ },
25
+ {
26
+ path: 'some-folder/ugly script.js',
27
+ isFolder: false,
28
+ name: 'ugly script.js',
29
+ type: 'script',
30
+ hasChildren: false,
31
+ content: `function makeid(length) {
32
+ var result = '';
33
+ var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
34
+ var charactersLength = characters.length;
35
+ for ( var i = 0; i < length; i++ ) {
36
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
37
+ }
38
+ return result;
39
+ }
40
+
41
+ console.log(makeid(5));`,
42
+ },
43
+ {
44
+ path: 'some-folder/nice script.js',
45
+ isFolder: false,
46
+ name: 'nice script.js',
47
+ type: 'script',
48
+ hasChildren: false,
49
+ content: `var items = {
50
+ "item_1": "1",
51
+ "item_2": "2",
52
+ "item_3": "3"
53
+ }
54
+ for (var item in items) {
55
+ console.log(items[item]);
56
+ }`,
57
+ },
58
+ {
59
+ path: 'another-folder/only bugs.js',
60
+ isFolder: false,
61
+ name: 'only bugs.js',
62
+ type: 'script',
63
+ hasChildren: false,
64
+ content: `var my_arr = [4, '', 0, 10, 7, '', false, 10];
65
+
66
+ my_arr = my_arr.filter(Boolean);
67
+
68
+ console.log(my_arr);`,
69
+ },
70
+ {
71
+ path: 'very important folder/no bugs at all.js',
72
+ isFolder: false,
73
+ name: 'no bugs at all.js',
74
+ type: 'script',
75
+ hasChildren: false,
76
+ content: `const date_str = "07/20/2021";
77
+ const date = new Date(date_str);
78
+ const full_day_name = date.toLocaleDateString('default', { weekday: 'long' });
79
+ // -> to get full day name e.g. Tuesday
80
+
81
+ const short_day_name = date.toLocaleDateString('default', { weekday: 'short' });
82
+ console.log(short_day_name);
83
+ // -> TO get the short day name e.g. Tue`,
84
+ },
85
+ {
86
+ path: 'very important folder/nope.js',
87
+ isFolder: false,
88
+ name: 'nope.js',
89
+ type: 'script',
90
+ hasChildren: false,
91
+ content: `// Define an object
92
+ const employee = {
93
+ "name": "John Deo",
94
+ "department": "IT",
95
+ "project": "Inventory Manager"
96
+ };
97
+
98
+ // Remove a property
99
+ delete employee["project"];
100
+
101
+ console.log(employee);`,
102
+ },
103
+ ];
104
+ class UmbScriptsData extends UmbData {
105
+ constructor() {
106
+ super(data);
107
+ }
108
+ getTreeRoot() {
109
+ const items = this.data.filter((item) => item.path?.includes('/') === false);
110
+ const treeItems = items.map((item) => createFileSystemTreeItem(item));
111
+ const total = items.length;
112
+ return { items: treeItems, total };
113
+ }
114
+ getTreeItemChildren(parentPath) {
115
+ const items = this.data.filter((item) => item.path?.startsWith(parentPath));
116
+ const treeItems = items.map((item) => createFileSystemTreeItem(item));
117
+ const total = items.length;
118
+ return { items: treeItems, total };
119
+ }
120
+ getTreeItem(paths) {
121
+ const items = this.data.filter((item) => paths.includes(item.path ?? ''));
122
+ return items.map((item) => createFileSystemTreeItem(item));
123
+ }
124
+ getItem(paths) {
125
+ const items = this.data.filter((item) => paths.includes(item.path ?? ''));
126
+ return items.map((item) => createFileItemResponseModelBaseModel(item));
127
+ }
128
+ getFolder(path) {
129
+ const items = data.filter((item) => item.isFolder && item.path === path);
130
+ return items;
131
+ }
132
+ postFolder(payload) {
133
+ const newFolder = {
134
+ path: `${payload.parentPath ?? ''}/${payload.name}`,
135
+ isFolder: true,
136
+ name: payload.name,
137
+ type: 'script',
138
+ hasChildren: false,
139
+ };
140
+ return this.insert(newFolder);
141
+ }
142
+ deleteFolder(path) {
143
+ return this.delete([path]);
144
+ }
145
+ getScript(path) {
146
+ return createTextFileItem(this.data.find((item) => item.path === path));
147
+ }
148
+ insertScript(item) {
149
+ const newItem = {
150
+ ...item,
151
+ path: `${item.parentPath}/${item.name}.js}`,
152
+ isFolder: false,
153
+ hasChildren: false,
154
+ type: 'script',
155
+ };
156
+ this.insert(newItem);
157
+ return newItem;
158
+ }
159
+ insert(item) {
160
+ const exits = this.data.find((i) => i.path === item.path);
161
+ if (exits) {
162
+ throw new Error(`Item with path ${item.path} already exists`);
163
+ }
164
+ this.data.push(item);
165
+ return item;
166
+ }
167
+ updateData(updateItem) {
168
+ const itemIndex = this.data.findIndex((item) => item.path === updateItem.existingPath);
169
+ const item = this.data[itemIndex];
170
+ if (!item)
171
+ return;
172
+ // TODO: revisit this code, seems like something we can solve smarter/type safer now:
173
+ const itemKeys = Object.keys(item);
174
+ const newItem = { ...item };
175
+ for (const [key] of Object.entries(updateItem)) {
176
+ if (itemKeys.indexOf(key) !== -1) {
177
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
178
+ // @ts-ignore
179
+ newItem[key] = updateItem[key];
180
+ }
181
+ }
182
+ // Specific to fileSystem, we need to update path based on name:
183
+ const dirName = updateItem.existingPath?.substring(0, updateItem.existingPath.lastIndexOf('/'));
184
+ newItem.path = `${dirName}${dirName ? '/' : ''}${updateItem.name}`;
185
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
186
+ // @ts-ignore
187
+ this.data[itemIndex] = newItem;
188
+ }
189
+ delete(paths) {
190
+ const pathsOfItemsToDelete = this.data
191
+ .filter((item) => {
192
+ if (!item.path)
193
+ throw new Error('Item has no path');
194
+ return paths.includes(item.path);
195
+ })
196
+ .map((item) => item.path);
197
+ this.data = this.data.filter((item) => {
198
+ if (!item.path)
199
+ throw new Error('Item has no path');
200
+ return paths.indexOf(item.path) === -1;
201
+ });
202
+ return pathsOfItemsToDelete;
203
+ }
204
+ }
205
+ export const umbScriptsData = new UmbScriptsData();
@@ -0,0 +1,2 @@
1
+ import { RestHandler, MockedRequest, DefaultBodyType } from 'msw';
2
+ export declare const handlers: RestHandler<MockedRequest<DefaultBodyType>>[];