@umbraco-cms/backoffice 14.0.0-9cc9c792 → 14.0.0-a0074b6e

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 (295) hide show
  1. package/dist-cms/apps/backoffice/backoffice.element.d.ts +6 -0
  2. package/dist-cms/apps/backoffice/backoffice.element.js +14 -3
  3. package/dist-cms/apps/backoffice/{extension-initializer.controller.d.ts → server-extension-registrator.controller.d.ts} +1 -4
  4. package/dist-cms/apps/backoffice/{extension-initializer.controller.js → server-extension-registrator.controller.js} +4 -22
  5. package/dist-cms/custom-elements.json +917 -920
  6. package/dist-cms/external/uui/index.js +291 -250
  7. package/dist-cms/libs/extension-api/bundle-extension-initializer.d.ts +2 -2
  8. package/dist-cms/libs/extension-api/bundle-extension-initializer.js +4 -2
  9. package/dist-cms/libs/extension-api/entry-point-extension-initializer.d.ts +2 -1
  10. package/dist-cms/libs/extension-api/entry-point-extension-initializer.js +4 -2
  11. package/dist-cms/mocks/data/stylesheet.data.d.ts +27 -5
  12. package/dist-cms/mocks/data/stylesheet.data.js +197 -10
  13. package/dist-cms/mocks/data/utils.d.ts +2 -1
  14. package/dist-cms/mocks/data/utils.js +5 -0
  15. package/dist-cms/mocks/handlers/manifests.handlers.js +12 -0
  16. package/dist-cms/mocks/handlers/stylesheet.handlers.js +97 -1
  17. package/dist-cms/packages/core/collection/collection-selection-actions.element.js +3 -3
  18. package/dist-cms/packages/core/components/index.d.ts +0 -1
  19. package/dist-cms/packages/core/components/index.js +0 -1
  20. package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.element.d.ts +2 -2
  21. package/dist-cms/packages/core/components/input-tiny-mce/tiny-mce-plugin.d.ts +3 -2
  22. package/dist-cms/packages/core/components/property-editor-config/property-editor-config.element.d.ts +5 -24
  23. package/dist-cms/packages/core/components/property-editor-config/property-editor-config.element.js +12 -66
  24. package/dist-cms/packages/core/components/property-type-based-property/property-type-based-property.element.d.ts +0 -16
  25. package/dist-cms/packages/core/components/property-type-based-property/property-type-based-property.element.js +4 -44
  26. package/dist-cms/packages/core/components/variant-selector/variant-selector.element.d.ts +2 -3
  27. package/dist-cms/packages/core/components/variant-selector/variant-selector.element.js +25 -27
  28. package/dist-cms/packages/core/content-type/content-type-structure-manager.class.d.ts +4 -0
  29. package/dist-cms/packages/core/content-type/content-type-structure-manager.class.js +45 -0
  30. package/dist-cms/packages/core/extension-registry/interfaces/property-editor-ui-extension-element.interface.d.ts +2 -2
  31. package/dist-cms/packages/core/extension-registry/models/property-editor.model.d.ts +2 -2
  32. package/dist-cms/packages/core/property-editor/config/index.d.ts +2 -0
  33. package/dist-cms/packages/core/property-editor/config/index.js +2 -0
  34. package/dist-cms/packages/core/{components/data-type/data-type-property-collection.class.d.ts → property-editor/config/property-editor-config-collection.class.d.ts} +4 -4
  35. package/dist-cms/packages/core/{components/data-type/data-type-property-collection.class.js → property-editor/config/property-editor-config-collection.class.js} +1 -1
  36. package/dist-cms/packages/core/property-editor/config/property-editor-config.type.d.ts +3 -0
  37. package/dist-cms/packages/core/property-editor/index.d.ts +1 -1
  38. package/dist-cms/packages/core/property-editor/index.js +1 -1
  39. package/dist-cms/packages/core/property-editor/uis/block-grid/property-editor-ui-block-grid.element.d.ts +2 -3
  40. package/dist-cms/packages/core/property-editor/uis/block-list/property-editor-ui-block-list.element.d.ts +3 -3
  41. package/dist-cms/packages/core/property-editor/uis/checkbox-list/property-editor-ui-checkbox-list.element.d.ts +2 -2
  42. package/dist-cms/packages/core/property-editor/uis/color-picker/property-editor-ui-color-picker.element.d.ts +2 -2
  43. package/dist-cms/packages/core/property-editor/uis/date-picker/property-editor-ui-date-picker.element.d.ts +2 -2
  44. package/dist-cms/packages/core/property-editor/uis/dropdown/property-editor-ui-dropdown.element.d.ts +2 -2
  45. package/dist-cms/packages/core/property-editor/uis/eye-dropper/property-editor-ui-eye-dropper.element.d.ts +2 -2
  46. package/dist-cms/packages/core/property-editor/uis/icon-picker/property-editor-ui-icon-picker.element.d.ts +2 -2
  47. package/dist-cms/packages/core/property-editor/uis/image-cropper/property-editor-ui-image-cropper.element.d.ts +2 -2
  48. package/dist-cms/packages/core/property-editor/uis/image-crops-configuration/property-editor-ui-image-crops-configuration.element.d.ts +2 -2
  49. package/dist-cms/packages/core/property-editor/uis/label/property-editor-ui-label.element.d.ts +2 -2
  50. package/dist-cms/packages/core/property-editor/uis/markdown-editor/property-editor-ui-markdown-editor.element.d.ts +2 -2
  51. package/dist-cms/packages/core/property-editor/uis/media-picker/property-editor-ui-media-picker.element.d.ts +2 -2
  52. package/dist-cms/packages/core/property-editor/uis/member-group-picker/property-editor-ui-member-group-picker.element.d.ts +2 -2
  53. package/dist-cms/packages/core/property-editor/uis/member-picker/property-editor-ui-member-picker.element.d.ts +2 -2
  54. package/dist-cms/packages/core/property-editor/uis/multi-url-picker/property-editor-ui-multi-url-picker.element.d.ts +2 -2
  55. package/dist-cms/packages/core/property-editor/uis/multiple-text-string/property-editor-ui-multiple-text-string.element.d.ts +2 -2
  56. package/dist-cms/packages/core/property-editor/uis/number/property-editor-ui-number.element.d.ts +2 -2
  57. package/dist-cms/packages/core/property-editor/uis/number-range/property-editor-ui-number-range.element.d.ts +2 -2
  58. package/dist-cms/packages/core/property-editor/uis/order-direction/property-editor-ui-order-direction.element.d.ts +2 -2
  59. package/dist-cms/packages/core/property-editor/uis/overlay-size/property-editor-ui-overlay-size.element.d.ts +2 -2
  60. package/dist-cms/packages/core/property-editor/uis/radio-button-list/property-editor-ui-radio-button-list.element.d.ts +2 -2
  61. package/dist-cms/packages/core/property-editor/uis/slider/property-editor-ui-slider.element.d.ts +2 -2
  62. package/dist-cms/packages/core/property-editor/uis/text-box/property-editor-ui-text-box.element.d.ts +2 -2
  63. package/dist-cms/packages/core/property-editor/uis/textarea/property-editor-ui-textarea.element.d.ts +2 -2
  64. package/dist-cms/packages/core/property-editor/uis/tiny-mce/config/toolbar/property-editor-ui-tiny-mce-toolbar-configuration.element.d.ts +2 -2
  65. package/dist-cms/packages/core/property-editor/uis/tiny-mce/property-editor-ui-tiny-mce.element.d.ts +2 -2
  66. package/dist-cms/packages/core/property-editor/uis/toggle/property-editor-ui-toggle.element.d.ts +2 -2
  67. package/dist-cms/packages/core/property-editor/uis/tree-picker/property-editor-ui-tree-picker.element.d.ts +2 -2
  68. package/dist-cms/packages/core/property-editor/uis/upload-field/property-editor-ui-upload-field.element.d.ts +2 -2
  69. package/dist-cms/packages/core/property-editor/uis/user-picker/property-editor-ui-user-picker.element.d.ts +2 -2
  70. package/dist-cms/packages/core/property-editor/uis/value-type/property-editor-ui-value-type.element.d.ts +2 -2
  71. package/dist-cms/packages/core/repositories/index.d.ts +1 -0
  72. package/dist-cms/packages/core/repositories/index.js +1 -0
  73. package/dist-cms/packages/core/repositories/repository.interface.d.ts +10 -0
  74. package/dist-cms/packages/core/variant/variant-id.class.d.ts +5 -0
  75. package/dist-cms/packages/core/variant/variant-id.class.js +16 -2
  76. package/dist-cms/packages/core/workspace/index.d.ts +3 -2
  77. package/dist-cms/packages/core/workspace/index.js +3 -2
  78. package/dist-cms/packages/core/workspace/types/workspace-property-data.type.d.ts +2 -2
  79. package/dist-cms/packages/core/workspace/variant-context/index.d.ts +5 -0
  80. package/dist-cms/packages/core/workspace/variant-context/index.js +5 -0
  81. package/dist-cms/packages/core/workspace/variant-context/invariant-workspace-variant-context.d.ts +28 -0
  82. package/dist-cms/packages/core/workspace/variant-context/invariant-workspace-variant-context.js +48 -0
  83. package/dist-cms/packages/core/workspace/variant-context/nameable-variant-context.interface.d.ts +7 -0
  84. package/dist-cms/packages/core/workspace/variant-context/nameable-variant-context.token.d.ts +5 -0
  85. package/dist-cms/packages/core/workspace/variant-context/nameable-variant-context.token.js +3 -0
  86. package/dist-cms/packages/core/workspace/variant-context/variant-context.interface.d.ts +26 -0
  87. package/dist-cms/packages/core/workspace/variant-context/variant-context.token.d.ts +3 -0
  88. package/dist-cms/packages/core/workspace/variant-context/variant-context.token.js +2 -0
  89. package/dist-cms/packages/core/workspace/workspace-context/index.d.ts +7 -4
  90. package/dist-cms/packages/core/workspace/workspace-context/index.js +7 -4
  91. package/dist-cms/packages/core/workspace/workspace-context/property-structure-workspace-context.interface.d.ts +6 -0
  92. package/dist-cms/packages/core/workspace/workspace-context/publishable-workspace-context.interface.d.ts +4 -0
  93. package/dist-cms/packages/core/workspace/workspace-context/publishable-workspace-context.interface.js +1 -0
  94. package/dist-cms/packages/core/workspace/workspace-context/saveable-workspace-context.interface.d.ts +4 -0
  95. package/dist-cms/packages/core/workspace/workspace-context/saveable-workspace-context.interface.js +1 -0
  96. package/dist-cms/packages/core/workspace/workspace-context/variant-workspace-context.token.d.ts +5 -0
  97. package/dist-cms/packages/core/workspace/workspace-context/variant-workspace-context.token.js +2 -0
  98. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.d.ts +2 -2
  99. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.interface.d.ts +5 -7
  100. package/dist-cms/packages/core/workspace/workspace-context/workspace-invariantable-context.interface.d.ts +13 -0
  101. package/dist-cms/packages/core/workspace/workspace-context/workspace-invariantable-context.interface.js +1 -0
  102. package/dist-cms/packages/core/workspace/workspace-context/workspace-variantable-context.interface.d.ts +18 -0
  103. package/dist-cms/packages/core/workspace/workspace-context/workspace-variantable-context.interface.js +1 -0
  104. package/dist-cms/packages/core/workspace/workspace-editor/workspace-editor.element.js +1 -1
  105. package/dist-cms/packages/core/workspace/workspace-property/workspace-property.context.d.ts +8 -8
  106. package/dist-cms/packages/core/workspace/workspace-property/workspace-property.context.js +49 -35
  107. package/dist-cms/packages/core/workspace/workspace-property/workspace-property.element.d.ts +2 -19
  108. package/dist-cms/packages/core/workspace/workspace-property/workspace-property.element.js +3 -30
  109. package/dist-cms/packages/core/workspace/workspace-split-view/index.d.ts +2 -0
  110. package/dist-cms/packages/core/workspace/workspace-split-view/index.js +2 -0
  111. package/dist-cms/packages/core/workspace/workspace-split-view/workspace-split-view.context.d.ts +16 -0
  112. package/dist-cms/packages/core/workspace/workspace-split-view/workspace-split-view.context.js +66 -0
  113. package/dist-cms/packages/core/workspace/{workspace-variant/workspace-variant.element.d.ts → workspace-split-view/workspace-split-view.element.d.ts} +5 -6
  114. package/dist-cms/packages/core/workspace/{workspace-variant/workspace-variant.element.js → workspace-split-view/workspace-split-view.element.js} +12 -18
  115. package/dist-cms/packages/dictionary/dictionary/workspace/dictionary-workspace.context.d.ts +3 -3
  116. package/dist-cms/packages/documents/document-types/workspace/document-type-workspace.context.d.ts +3 -3
  117. package/dist-cms/packages/documents/documents/property-editors/document-picker/property-editor-ui-document-picker.element.d.ts +2 -2
  118. package/dist-cms/packages/documents/documents/variant-context/document-variant-context.d.ts +35 -0
  119. package/dist-cms/packages/documents/documents/variant-context/document-variant-context.js +89 -0
  120. package/dist-cms/packages/documents/documents/variant-context/document-variant-context.token.d.ts +5 -0
  121. package/dist-cms/packages/documents/documents/variant-context/document-variant-context.token.js +3 -0
  122. package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.js +1 -0
  123. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.d.ts +0 -1
  124. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.js +3 -5
  125. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.d.ts +20 -11
  126. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +57 -39
  127. package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit-properties.element.js +1 -1
  128. package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit.element.js +1 -1
  129. package/dist-cms/packages/{settings/logviewer → log-viewer}/components/donut-chart/donut-chart.element.d.ts +1 -1
  130. package/dist-cms/packages/{settings/logviewer → log-viewer}/components/donut-chart/donut-chart.element.js +3 -3
  131. package/dist-cms/packages/{settings/logviewer → log-viewer}/components/donut-chart/donut-slice.element.d.ts +1 -1
  132. package/dist-cms/packages/{settings/logviewer → log-viewer}/components/donut-chart/donut-slice.element.js +1 -1
  133. package/dist-cms/packages/{settings/logviewer → log-viewer}/components/log-viewer-date-range-selector.element.d.ts +1 -1
  134. package/dist-cms/packages/{settings/logviewer → log-viewer}/components/log-viewer-date-range-selector.element.js +4 -4
  135. package/dist-cms/packages/{settings/logviewer → log-viewer}/components/log-viewer-too-many-logs-warning.element.d.ts +1 -1
  136. package/dist-cms/packages/{settings/logviewer → log-viewer}/components/log-viewer-too-many-logs-warning.element.js +1 -1
  137. package/dist-cms/packages/log-viewer/manifests.d.ts +1 -0
  138. package/dist-cms/packages/log-viewer/menu-item/manifests.d.ts +2 -0
  139. package/dist-cms/packages/{settings/logviewer → log-viewer}/repository/log-viewer.repository.d.ts +8 -8
  140. package/dist-cms/packages/{settings/logviewer → log-viewer}/repository/log-viewer.repository.js +2 -2
  141. package/dist-cms/packages/{settings/logviewer → log-viewer}/repository/sources/index.d.ts +2 -2
  142. package/dist-cms/packages/log-viewer/repository/sources/index.js +1 -0
  143. package/dist-cms/packages/{settings/logviewer → log-viewer}/repository/sources/log-viewer.server.data.d.ts +11 -11
  144. package/dist-cms/packages/{settings/logviewer → log-viewer}/repository/sources/log-viewer.server.data.js +2 -2
  145. package/dist-cms/packages/log-viewer/umbraco-package.d.ts +7 -0
  146. package/dist-cms/packages/log-viewer/umbraco-package.js +9 -0
  147. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/logviewer/logviewer-workspace.element.d.ts +2 -2
  148. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/logviewer/logviewer-workspace.element.js +3 -3
  149. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/logviewer/manifests.d.ts +1 -1
  150. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/logviewer.context.d.ts +8 -8
  151. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/logviewer.context.js +6 -6
  152. package/dist-cms/packages/log-viewer/workspace/manifests.d.ts +1 -0
  153. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/components/log-viewer-log-level-overview.element.d.ts +1 -1
  154. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/components/log-viewer-log-level-overview.element.js +2 -2
  155. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/components/log-viewer-log-types-chart.element.d.ts +1 -1
  156. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/components/log-viewer-log-types-chart.element.js +2 -2
  157. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/components/log-viewer-message-templates-overview.element.d.ts +1 -1
  158. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/components/log-viewer-message-templates-overview.element.js +3 -3
  159. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/components/log-viewer-saved-searches-overview.element.d.ts +1 -1
  160. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/components/log-viewer-saved-searches-overview.element.js +3 -3
  161. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/log-overview-view.element.d.ts +1 -1
  162. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/log-overview-view.element.js +2 -2
  163. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-level-tag.element.d.ts +3 -3
  164. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-level-tag.element.js +1 -1
  165. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-log-level-filter-menu.element.d.ts +1 -1
  166. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-log-level-filter-menu.element.js +5 -5
  167. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-message.element.d.ts +3 -3
  168. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-message.element.js +4 -4
  169. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-messages-list.element.d.ts +1 -1
  170. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-messages-list.element.js +3 -3
  171. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-polling-button.element.d.ts +1 -1
  172. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-polling-button.element.js +2 -2
  173. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-search-input-modal.element.d.ts +2 -2
  174. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-search-input-modal.element.js +2 -2
  175. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-search-input.element.d.ts +2 -2
  176. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/log-viewer-search-input.element.js +5 -5
  177. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/log-search-view.element.d.ts +1 -1
  178. package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/log-search-view.element.js +3 -3
  179. package/dist-cms/packages/media/media/workspace/media-workspace.context.d.ts +3 -3
  180. package/dist-cms/packages/media/media-types/workspace/media-type-workspace.context.d.ts +3 -3
  181. package/dist-cms/packages/members/member-groups/workspace/member-group-workspace.context.d.ts +3 -3
  182. package/dist-cms/packages/members/member-types/workspace/member-type-workspace.context.d.ts +3 -3
  183. package/dist-cms/packages/members/members/workspace/member-workspace.context.d.ts +3 -3
  184. package/dist-cms/packages/search/manifests.js +5 -5
  185. package/dist-cms/packages/settings/data-types/index.d.ts +1 -0
  186. package/dist-cms/packages/settings/data-types/index.js +1 -0
  187. package/dist-cms/packages/settings/data-types/variant-context/data-type-variant-context.d.ts +7 -0
  188. package/dist-cms/packages/settings/data-types/variant-context/data-type-variant-context.js +8 -0
  189. package/dist-cms/packages/settings/data-types/variant-context/data-type-variant-context.token.d.ts +5 -0
  190. package/dist-cms/packages/settings/data-types/variant-context/data-type-variant-context.token.js +3 -0
  191. package/dist-cms/packages/settings/data-types/variant-context/index.d.ts +2 -0
  192. package/dist-cms/packages/settings/data-types/variant-context/index.js +2 -0
  193. package/dist-cms/packages/settings/data-types/workspace/data-type-workspace-editor.element.js +1 -0
  194. package/dist-cms/packages/settings/data-types/workspace/data-type-workspace.context.d.ts +29 -9
  195. package/dist-cms/packages/settings/data-types/workspace/data-type-workspace.context.js +85 -4
  196. package/dist-cms/packages/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.js +3 -3
  197. package/dist-cms/packages/settings/extensions/workspace/extension-root-workspace.element.js +1 -2
  198. package/dist-cms/packages/settings/languages/app-language-select/app-language-select.element.js +7 -6
  199. package/dist-cms/packages/settings/languages/workspace/language/language-workspace.context.d.ts +3 -3
  200. package/dist-cms/packages/settings/manifests.js +0 -2
  201. package/dist-cms/packages/settings/relation-types/workspace/relation-type-workspace.context.d.ts +3 -3
  202. package/dist-cms/packages/tags/property-editors/tags/property-editor-ui-tags.element.d.ts +2 -2
  203. package/dist-cms/packages/templating/partial-views/workspace/manifests.js +1 -2
  204. package/dist-cms/packages/templating/partial-views/workspace/partial-view-workspace.context.d.ts +3 -3
  205. package/dist-cms/packages/templating/partial-views/workspace/partial-view-workspace.context.js +0 -1
  206. package/dist-cms/packages/templating/stylesheets/config.d.ts +10 -0
  207. package/dist-cms/packages/templating/stylesheets/config.js +10 -0
  208. package/dist-cms/packages/templating/stylesheets/entity-actions/create/create-rtf.action.d.ts +8 -0
  209. package/dist-cms/packages/templating/stylesheets/entity-actions/create/create-rtf.action.js +9 -0
  210. package/dist-cms/packages/templating/stylesheets/entity-actions/create/create.action.d.ts +8 -0
  211. package/dist-cms/packages/templating/stylesheets/entity-actions/create/create.action.js +9 -0
  212. package/dist-cms/packages/templating/stylesheets/entity-actions/manifests.d.ts +2 -0
  213. package/dist-cms/packages/templating/stylesheets/entity-actions/manifests.js +73 -0
  214. package/dist-cms/packages/templating/stylesheets/index.d.ts +2 -5
  215. package/dist-cms/packages/templating/stylesheets/index.js +0 -1
  216. package/dist-cms/packages/templating/stylesheets/manifests.d.ts +1 -1
  217. package/dist-cms/packages/templating/stylesheets/manifests.js +8 -1
  218. package/dist-cms/packages/templating/stylesheets/repository/manifests.d.ts +0 -3
  219. package/dist-cms/packages/templating/stylesheets/repository/manifests.js +1 -3
  220. package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.folder.server.data.d.ts +17 -0
  221. package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.folder.server.data.js +23 -0
  222. package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.server.data.d.ts +50 -6
  223. package/dist-cms/packages/templating/stylesheets/repository/sources/stylesheet.server.data.js +58 -5
  224. package/dist-cms/packages/templating/stylesheets/repository/stylesheet.repository.d.ts +53 -12
  225. package/dist-cms/packages/templating/stylesheets/repository/stylesheet.repository.js +93 -10
  226. package/dist-cms/packages/templating/stylesheets/tree/manifests.js +1 -2
  227. package/dist-cms/packages/templating/stylesheets/workspace/manifests.d.ts +3 -2
  228. package/dist-cms/packages/templating/stylesheets/workspace/manifests.js +68 -3
  229. package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace-editor.element.d.ts +17 -0
  230. package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace-editor.element.js +107 -0
  231. package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace.context.d.ts +23 -5
  232. package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace.context.js +115 -6
  233. package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace.element.js +14 -4
  234. package/dist-cms/packages/templating/stylesheets/workspace/views/code-editor/stylesheet-workspace-view-code-editor.element.d.ts +16 -0
  235. package/dist-cms/packages/templating/stylesheets/workspace/views/code-editor/stylesheet-workspace-view-code-editor.element.js +95 -0
  236. package/dist-cms/packages/templating/stylesheets/workspace/views/rich-text-editor/stylesheet-workspace-view-rich-text-editor-rule.element.d.ts +16 -0
  237. package/dist-cms/packages/templating/stylesheets/workspace/views/rich-text-editor/stylesheet-workspace-view-rich-text-editor-rule.element.js +82 -0
  238. package/dist-cms/packages/templating/stylesheets/workspace/views/rich-text-editor/stylesheet-workspace-view-rich-text-editor-style-sidebar.element.d.ts +19 -0
  239. package/dist-cms/packages/templating/stylesheets/workspace/views/rich-text-editor/stylesheet-workspace-view-rich-text-editor-style-sidebar.element.js +159 -0
  240. package/dist-cms/packages/templating/stylesheets/workspace/views/rich-text-editor/stylesheet-workspace-view-rich-text-editor.element.d.ts +22 -0
  241. package/dist-cms/packages/templating/stylesheets/workspace/views/rich-text-editor/stylesheet-workspace-view-rich-text-editor.element.js +125 -0
  242. package/dist-cms/packages/templating/templates/workspace/template-workspace.context.d.ts +3 -3
  243. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.context.d.ts +3 -3
  244. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.context.js +1 -1
  245. package/dist-cms/packages/users/users/modals/create/user-create-modal.element.js +1 -1
  246. package/dist-cms/packages/users/users/workspace/user-workspace.context.d.ts +3 -3
  247. package/dist-cms/shared/style/text-style.style.d.ts +1 -1
  248. package/dist-cms/shared/style/text-style.style.js +2 -2
  249. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  250. package/dist-cms/vscode-html-custom-data.json +208 -223
  251. package/package.json +4 -4
  252. package/dist-cms/packages/core/components/data-type/index.d.ts +0 -1
  253. package/dist-cms/packages/core/components/data-type/index.js +0 -1
  254. package/dist-cms/packages/core/property-editor/types/data-type-config.type.d.ts +0 -3
  255. package/dist-cms/packages/core/property-editor/types/index.d.ts +0 -1
  256. package/dist-cms/packages/core/property-editor/types/index.js +0 -1
  257. package/dist-cms/packages/core/workspace/workspace-context/workspace-entity-context.interface.d.ts +0 -5
  258. package/dist-cms/packages/core/workspace/workspace-context/workspace-invariantable-entity-context.interface.d.ts +0 -11
  259. package/dist-cms/packages/core/workspace/workspace-context/workspace-variable-entity-context.interface.d.ts +0 -16
  260. package/dist-cms/packages/core/workspace/workspace-variant/index.d.ts +0 -3
  261. package/dist-cms/packages/core/workspace/workspace-variant/index.js +0 -3
  262. package/dist-cms/packages/core/workspace/workspace-variant/variantable-property/variantable-property.element.d.ts +0 -20
  263. package/dist-cms/packages/core/workspace/workspace-variant/variantable-property/variantable-property.element.js +0 -71
  264. package/dist-cms/packages/core/workspace/workspace-variant/workspace-variant.context.d.ts +0 -26
  265. package/dist-cms/packages/core/workspace/workspace-variant/workspace-variant.context.js +0 -89
  266. package/dist-cms/packages/settings/logviewer/manifests.d.ts +0 -1
  267. package/dist-cms/packages/settings/logviewer/menu-item/manifests.d.ts +0 -2
  268. package/dist-cms/packages/settings/logviewer/workspace/manifests.d.ts +0 -1
  269. package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace-edit.element.d.ts +0 -11
  270. package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace-edit.element.js +0 -27
  271. /package/dist-cms/packages/core/property-editor/{types/data-type-config.type.js → config/property-editor-config.type.js} +0 -0
  272. /package/dist-cms/packages/core/{workspace/workspace-context/workspace-entity-context.interface.js → repositories/repository.interface.js} +0 -0
  273. /package/dist-cms/packages/core/workspace/{workspace-context/workspace-invariantable-entity-context.interface.js → variant-context/nameable-variant-context.interface.js} +0 -0
  274. /package/dist-cms/packages/core/workspace/{workspace-context/workspace-variable-entity-context.interface.js → variant-context/variant-context.interface.js} +0 -0
  275. /package/dist-cms/packages/{settings/logviewer/repository/sources/index.js → core/workspace/workspace-context/property-structure-workspace-context.interface.js} +0 -0
  276. /package/dist-cms/packages/{settings/logviewer → log-viewer}/components/donut-chart/index.d.ts +0 -0
  277. /package/dist-cms/packages/{settings/logviewer → log-viewer}/components/donut-chart/index.js +0 -0
  278. /package/dist-cms/packages/{settings/logviewer → log-viewer}/components/index.d.ts +0 -0
  279. /package/dist-cms/packages/{settings/logviewer → log-viewer}/components/index.js +0 -0
  280. /package/dist-cms/packages/{settings/logviewer → log-viewer}/index.d.ts +0 -0
  281. /package/dist-cms/packages/{settings/logviewer → log-viewer}/index.js +0 -0
  282. /package/dist-cms/packages/{settings/logviewer → log-viewer}/manifests.js +0 -0
  283. /package/dist-cms/packages/{settings/logviewer → log-viewer}/menu-item/manifests.js +0 -0
  284. /package/dist-cms/packages/{settings/logviewer → log-viewer}/repository/index.d.ts +0 -0
  285. /package/dist-cms/packages/{settings/logviewer → log-viewer}/repository/index.js +0 -0
  286. /package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/logviewer/manifests.js +0 -0
  287. /package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/manifests.js +0 -0
  288. /package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/components/index.d.ts +0 -0
  289. /package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/components/index.js +0 -0
  290. /package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/index.d.ts +0 -0
  291. /package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/overview/index.js +0 -0
  292. /package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/index.d.ts +0 -0
  293. /package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/components/index.js +0 -0
  294. /package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/index.d.ts +0 -0
  295. /package/dist-cms/packages/{settings/logviewer → log-viewer}/workspace/views/search/index.js +0 -0
@@ -1,23 +1,114 @@
1
1
  import { UMB_STYLESHEET_TREE_STORE_CONTEXT_TOKEN } from './stylesheet.tree.store.js';
2
2
  import { UmbStylesheetTreeServerDataSource } from './sources/stylesheet.tree.server.data.js';
3
3
  import { UmbStylesheetServerDataSource } from './sources/stylesheet.server.data.js';
4
+ import { UmbStylesheetFolderServerDataSource, } from './sources/stylesheet.folder.server.data.js';
4
5
  import { UmbContextConsumerController } from '../../../../libs/context-api/index.js';
5
6
  export class UmbStylesheetRepository {
6
7
  #host;
7
8
  #dataSource;
8
9
  #treeDataSource;
9
10
  #treeStore;
11
+ #folderDataSource;
10
12
  #init;
11
13
  constructor(host) {
12
14
  this.#host = host;
13
15
  // TODO: figure out how spin up get the correct data source
14
16
  this.#dataSource = new UmbStylesheetServerDataSource(this.#host);
15
17
  this.#treeDataSource = new UmbStylesheetTreeServerDataSource(this.#host);
18
+ this.#folderDataSource = new UmbStylesheetFolderServerDataSource(this.#host);
16
19
  this.#init = new UmbContextConsumerController(this.#host, UMB_STYLESHEET_TREE_STORE_CONTEXT_TOKEN, (instance) => {
17
20
  this.#treeStore = instance;
18
21
  }).asPromise();
19
22
  }
20
- // TREE:
23
+ //#region FOLDER:
24
+ createFolderScaffold(parentId) {
25
+ const data = {
26
+ name: '',
27
+ parentId,
28
+ };
29
+ return Promise.resolve({ data, error: undefined });
30
+ }
31
+ async createFolder(folderRequest) {
32
+ await this.#init;
33
+ const req = {
34
+ parentPath: folderRequest.parentId,
35
+ name: folderRequest.name,
36
+ };
37
+ const promise = this.#folderDataSource.insert(req);
38
+ await promise;
39
+ this.requestTreeItemsOf(folderRequest.parentId ? folderRequest.parentId : null);
40
+ return promise;
41
+ }
42
+ async requestFolder(unique) {
43
+ await this.#init;
44
+ return this.#folderDataSource.get(unique);
45
+ }
46
+ updateFolder(unique, folder) {
47
+ throw new Error('Method not implemented.');
48
+ }
49
+ async deleteFolder(path) {
50
+ await this.#init;
51
+ const { data } = await this.requestFolder(path);
52
+ const promise = this.#folderDataSource.delete(path);
53
+ await promise;
54
+ this.requestTreeItemsOf(data?.parentPath ? data?.parentPath : null);
55
+ return promise;
56
+ }
57
+ //#endregion
58
+ //#region DETAIL:
59
+ createScaffold(parentId, preset) {
60
+ throw new Error('Method not implemented.');
61
+ }
62
+ async requestById(id) {
63
+ if (!id)
64
+ throw new Error('id is missing');
65
+ await this.#init;
66
+ const { data, error } = await this.#dataSource.get(id);
67
+ return { data, error };
68
+ }
69
+ byId(id) {
70
+ throw new Error('Method not implemented.');
71
+ }
72
+ async create(data) {
73
+ const promise = this.#dataSource.insert(data);
74
+ await promise;
75
+ this.requestTreeItemsOf(data.parentPath ? data.parentPath : null);
76
+ return promise;
77
+ }
78
+ save(id, data) {
79
+ return this.#dataSource.update(id, data);
80
+ }
81
+ delete(id) {
82
+ const promise = this.#dataSource.delete(id);
83
+ const parentPath = id.substring(0, id.lastIndexOf('/'));
84
+ this.requestTreeItemsOf(parentPath ? parentPath : null);
85
+ return promise;
86
+ }
87
+ getStylesheetRules(path) {
88
+ return this.#dataSource.getStylesheetRichTextRules(path);
89
+ }
90
+ /**
91
+ * Existing content + array of rules => new content string
92
+ *
93
+ * @param {InterpolateRichTextStylesheetRequestModel} data
94
+ * @return {*} {Promise<DataSourceResponse<InterpolateRichTextStylesheetResponseModel>>}
95
+ * @memberof UmbStylesheetRepository
96
+ */
97
+ interpolateStylesheetRules(data) {
98
+ return this.#dataSource.postStylesheetRichTextInterpolateRules(data);
99
+ }
100
+ /**
101
+ * content string => array of rules
102
+ *
103
+ * @param {ExtractRichTextStylesheetRulesRequestModel} data
104
+ * @return {*} {Promise<DataSourceResponse<ExtractRichTextStylesheetRulesResponseModel>>}
105
+ * @memberof UmbStylesheetRepository
106
+ */
107
+ extractStylesheetRules(data) {
108
+ return this.#dataSource.postStylesheetRichTextExtractRules(data);
109
+ }
110
+ //#endregion
111
+ //#region TREE:
21
112
  async requestTreeRoot() {
22
113
  await this.#init;
23
114
  const data = {
@@ -47,7 +138,7 @@ export class UmbStylesheetRepository {
47
138
  }
48
139
  return { data, error, asObservable: () => this.#treeStore.childrenOf(path) };
49
140
  }
50
- async requestItemsLegacy(paths) {
141
+ async requestItems(paths) {
51
142
  if (!paths)
52
143
  throw new Error('Paths are missing');
53
144
  await this.#init;
@@ -70,12 +161,4 @@ export class UmbStylesheetRepository {
70
161
  await this.#init;
71
162
  return this.#treeStore.items(paths);
72
163
  }
73
- // DETAILS
74
- async requestByPath(path) {
75
- if (!path)
76
- throw new Error('Path is missing');
77
- await this.#init;
78
- const { data, error } = await this.#dataSource.get(path);
79
- return { data, error };
80
- }
81
164
  }
@@ -1,5 +1,4 @@
1
- import { STYLESHEET_ENTITY_TYPE } from '../index.js';
2
- import { STYLESHEET_REPOSITORY_ALIAS } from '../repository/manifests.js';
1
+ import { STYLESHEET_ENTITY_TYPE, STYLESHEET_REPOSITORY_ALIAS } from '../config.js';
3
2
  export const STYLESHEET_TREE_ALIAS = 'Umb.Tree.Stylesheet';
4
3
  const tree = {
5
4
  type: 'tree',
@@ -1,2 +1,3 @@
1
- import type { ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceEditorView } from '../../../core/extension-registry/index.js';
2
- export declare const manifests: (ManifestWorkspace | ManifestWorkspaceAction | ManifestWorkspaceEditorView)[];
1
+ import type { ManifestModal, ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceEditorView } from '../../../core/extension-registry/index.js';
2
+ export declare const UMB_MODAL_TEMPLATING_STYLESHEET_RTF_STYLE_SIDEBAR = "Umb.Modal.Templating.Stylesheet.RichTextEditorStyle.Sidebar";
3
+ export declare const manifests: (ManifestModal | ManifestWorkspace | ManifestWorkspaceAction | ManifestWorkspaceEditorView)[];
@@ -1,3 +1,4 @@
1
+ import { UmbSaveWorkspaceAction } from '../../../core/workspace/index.js';
1
2
  const workspace = {
2
3
  type: 'workspace',
3
4
  alias: 'Umb.Workspace.StyleSheet',
@@ -7,6 +8,70 @@ const workspace = {
7
8
  entityType: 'stylesheet',
8
9
  },
9
10
  };
10
- const workspaceViews = [];
11
- const workspaceActions = [];
12
- export const manifests = [workspace, ...workspaceViews, ...workspaceActions];
11
+ const workspaceEditorViews = [
12
+ {
13
+ type: 'workspaceEditorView',
14
+ alias: 'Umb.WorkspaceView.Stylesheet.CodeEditor',
15
+ name: 'Stylesheet Workspace Code Editor View',
16
+ loader: () => import('./views/code-editor/stylesheet-workspace-view-code-editor.element.js'),
17
+ weight: 700,
18
+ meta: {
19
+ label: 'Code',
20
+ pathname: 'code',
21
+ icon: 'umb:brackets',
22
+ },
23
+ conditions: [
24
+ {
25
+ alias: 'Umb.Condition.WorkspaceAlias',
26
+ match: workspace.alias,
27
+ },
28
+ ],
29
+ },
30
+ {
31
+ type: 'workspaceEditorView',
32
+ alias: 'Umb.WorkspaceView.Stylesheet.RichTextEditor',
33
+ name: 'Stylesheet Workspace Rich Text Editor View',
34
+ loader: () => import('./views/rich-text-editor/stylesheet-workspace-view-rich-text-editor.element.js'),
35
+ weight: 800,
36
+ meta: {
37
+ label: 'Rich Text Editor',
38
+ pathname: 'rich-text-editor',
39
+ icon: 'umb:font',
40
+ },
41
+ conditions: [
42
+ {
43
+ alias: 'Umb.Condition.WorkspaceAlias',
44
+ match: workspace.alias,
45
+ },
46
+ ],
47
+ },
48
+ ];
49
+ const workspaceActions = [
50
+ {
51
+ type: 'workspaceAction',
52
+ alias: 'Umb.WorkspaceAction.Stylesheet.Save',
53
+ name: 'Save Stylesheet Workspace Action',
54
+ meta: {
55
+ label: 'Save',
56
+ look: 'primary',
57
+ color: 'positive',
58
+ api: UmbSaveWorkspaceAction,
59
+ },
60
+ conditions: [
61
+ {
62
+ alias: 'Umb.Condition.WorkspaceAlias',
63
+ match: workspace.alias,
64
+ },
65
+ ],
66
+ },
67
+ ];
68
+ export const UMB_MODAL_TEMPLATING_STYLESHEET_RTF_STYLE_SIDEBAR = 'Umb.Modal.Templating.Stylesheet.RichTextEditorStyle.Sidebar';
69
+ const modals = [
70
+ {
71
+ type: 'modal',
72
+ alias: UMB_MODAL_TEMPLATING_STYLESHEET_RTF_STYLE_SIDEBAR,
73
+ name: 'Rich text editor style modal',
74
+ loader: () => import('./views/rich-text-editor/stylesheet-workspace-view-rich-text-editor-style-sidebar.element.js'),
75
+ },
76
+ ];
77
+ export const manifests = [workspace, ...workspaceEditorViews, ...workspaceActions, ...modals];
@@ -0,0 +1,17 @@
1
+ import { UmbLitElement } from '../../../../shared/lit-element/index.js';
2
+ export declare class UmbStylesheetWorkspaceEditorElement extends UmbLitElement {
3
+ #private;
4
+ private get _name();
5
+ private set _name(value);
6
+ private _path?;
7
+ private inputQuery$;
8
+ constructor();
9
+ render(): import("lit-html").TemplateResult<1>;
10
+ static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
11
+ }
12
+ export default UmbStylesheetWorkspaceEditorElement;
13
+ declare global {
14
+ interface HTMLElementTagNameMap {
15
+ 'umb-stylesheet-workspace-editor': UmbStylesheetWorkspaceEditorElement;
16
+ }
17
+ }
@@ -0,0 +1,107 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { UUITextStyles } from '../../../../external/uui/index.js';
8
+ import { css, html, customElement, state } from '../../../../external/lit/index.js';
9
+ import { UMB_WORKSPACE_CONTEXT } from '../../../core/workspace/index.js';
10
+ import { UmbLitElement } from '../../../../shared/lit-element/index.js';
11
+ import { Subject, debounceTime } from '../../../../external/rxjs/index.js';
12
+ export let UmbStylesheetWorkspaceEditorElement = class UmbStylesheetWorkspaceEditorElement extends UmbLitElement {
13
+ #workspaceContext;
14
+ #name;
15
+ get _name() {
16
+ return this.#name;
17
+ }
18
+ set _name(value) {
19
+ this.#name = value?.replace('.css', '');
20
+ this.requestUpdate();
21
+ }
22
+ constructor() {
23
+ super();
24
+ this.#name = '';
25
+ this.inputQuery$ = new Subject();
26
+ this.consumeContext(UMB_WORKSPACE_CONTEXT, (instance) => {
27
+ this.#workspaceContext = instance;
28
+ this.#observeNameAndPath();
29
+ this.inputQuery$.pipe(debounceTime(250)).subscribe((nameInputValue) => {
30
+ this.#workspaceContext?.setName(`${nameInputValue}.css`);
31
+ });
32
+ });
33
+ }
34
+ #observeNameAndPath() {
35
+ if (!this.#workspaceContext)
36
+ return;
37
+ this.observe(this.#workspaceContext.name, (name) => (this._name = name ?? ''), '_observeName');
38
+ this.observe(this.#workspaceContext.path, (path) => (this._path = path ?? ''), '_observePath');
39
+ }
40
+ #onNameChange(event) {
41
+ const target = event.target;
42
+ const value = target.value;
43
+ this.inputQuery$.next(value);
44
+ }
45
+ render() {
46
+ return html `
47
+ <umb-workspace-editor alias="Umb.Workspace.StyleSheet">
48
+ <div id="header" slot="header">
49
+ <uui-input
50
+ placeholder="Enter stylesheet name..."
51
+ label="stylesheet name"
52
+ id="name"
53
+ .value=${this._name}
54
+ @input="${this.#onNameChange}">
55
+ </uui-input>
56
+ <small>/css/${this._path}</small>
57
+ </div>
58
+
59
+ <div slot="footer-info">
60
+ <!-- TODO: Shortcuts Modal? -->
61
+ <uui-button label="Show keyboard shortcuts">
62
+ Keyboard Shortcuts
63
+ <uui-keyboard-shortcut>
64
+ <uui-key>ALT</uui-key>
65
+ +
66
+ <uui-key>shift</uui-key>
67
+ +
68
+ <uui-key>k</uui-key>
69
+ </uui-keyboard-shortcut>
70
+ </uui-button>
71
+ </div>
72
+ </umb-workspace-editor>
73
+ `;
74
+ }
75
+ static { this.styles = [
76
+ UUITextStyles,
77
+ css `
78
+ :host {
79
+ display: block;
80
+ width: 100%;
81
+ height: 100%;
82
+ }
83
+
84
+ #header {
85
+ display: flex;
86
+ flex: 1 1 auto;
87
+ flex-direction: column;
88
+ }
89
+
90
+ #name {
91
+ width: 100%;
92
+ flex: 1 1 auto;
93
+ align-items: center;
94
+ }
95
+ `,
96
+ ]; }
97
+ };
98
+ __decorate([
99
+ state()
100
+ ], UmbStylesheetWorkspaceEditorElement.prototype, "_name", null);
101
+ __decorate([
102
+ state()
103
+ ], UmbStylesheetWorkspaceEditorElement.prototype, "_path", void 0);
104
+ UmbStylesheetWorkspaceEditorElement = __decorate([
105
+ customElement('umb-stylesheet-workspace-editor')
106
+ ], UmbStylesheetWorkspaceEditorElement);
107
+ export default UmbStylesheetWorkspaceEditorElement;
@@ -1,17 +1,35 @@
1
1
  import { UmbStylesheetRepository } from '../repository/stylesheet.repository.js';
2
2
  import { StylesheetDetails } from '../index.js';
3
- import { UmbEntityWorkspaceContextInterface, UmbWorkspaceContext } from '../../../core/workspace/index.js';
3
+ import { UmbSaveableWorkspaceContextInterface, UmbWorkspaceContext } from '../../../core/workspace/index.js';
4
4
  import { UmbControllerHostElement } from '../../../../libs/controller-api/index.js';
5
+ import { RichTextRuleModel } from '../../../../external/backend-api/index.js';
5
6
  import { UmbContextToken } from '../../../../libs/context-api/index.js';
6
- export declare class UmbStylesheetWorkspaceContext extends UmbWorkspaceContext<UmbStylesheetRepository, StylesheetDetails> implements UmbEntityWorkspaceContextInterface {
7
+ export type RichTextRuleModelSortable = RichTextRuleModel & {
8
+ sortOrder?: number;
9
+ };
10
+ export declare class UmbStylesheetWorkspaceContext extends UmbWorkspaceContext<UmbStylesheetRepository, StylesheetDetails> implements UmbSaveableWorkspaceContextInterface {
7
11
  #private;
8
- data: import("rxjs").Observable<StylesheetDetails | undefined>;
12
+ data: import("rxjs").Observable<import("../../../../external/backend-api/index.js").TextFileResponseModelBaseModel | undefined>;
13
+ rules: import("rxjs").Observable<RichTextRuleModelSortable[]>;
14
+ name: import("rxjs").Observable<string | undefined>;
15
+ content: import("rxjs").Observable<string | undefined>;
16
+ path: import("rxjs").Observable<string | undefined>;
17
+ isCodeEditorReady: import("rxjs").Observable<boolean>;
9
18
  constructor(host: UmbControllerHostElement);
10
19
  getEntityType(): string;
11
- getData(): StylesheetDetails | undefined;
12
20
  getEntityId(): string;
21
+ getData(): import("../../../../external/backend-api/index.js").TextFileResponseModelBaseModel | undefined;
22
+ getRules(): RichTextRuleModelSortable[];
23
+ updateRule(unique: string, rule: RichTextRuleModelSortable): void;
24
+ setRules(rules: RichTextRuleModelSortable[]): void;
25
+ setName(value: string): void;
26
+ setContent(value: string): void;
13
27
  load(path: string): Promise<void>;
28
+ sendRulesGetContent(): Promise<void>;
29
+ sendContentGetRules(): Promise<void>;
30
+ findNewSortOrder(rule: RichTextRuleModel, newIndex: number): boolean;
14
31
  save(): Promise<void>;
32
+ create(parentKey: string | null): Promise<void>;
15
33
  destroy(): void;
16
34
  }
17
- export declare const UMB_STYLESHEET_WORKSPACE_CONTEXT: UmbContextToken<UmbEntityWorkspaceContextInterface<unknown>, UmbStylesheetWorkspaceContext>;
35
+ export declare const UMB_STYLESHEET_WORKSPACE_CONTEXT: UmbContextToken<UmbSaveableWorkspaceContextInterface<unknown>, UmbStylesheetWorkspaceContext>;
@@ -1,32 +1,141 @@
1
1
  import { UmbStylesheetRepository } from '../repository/stylesheet.repository.js';
2
2
  import { UmbWorkspaceContext } from '../../../core/workspace/index.js';
3
- import { UmbObjectState } from '../../../../libs/observable-api/index.js';
3
+ import { UmbArrayState, UmbBooleanState, UmbObjectState, createObservablePart } from '../../../../libs/observable-api/index.js';
4
+ import { loadCodeEditor } from '../../code-editor/index.js';
4
5
  import { UmbContextToken } from '../../../../libs/context-api/index.js';
5
6
  export class UmbStylesheetWorkspaceContext extends UmbWorkspaceContext {
6
7
  #data;
8
+ #rules;
9
+ #isCodeEditorReady;
7
10
  constructor(host) {
8
- super(host, 'Umb.Workspace.Stylesheet', new UmbStylesheetRepository(host));
11
+ super(host, 'Umb.Workspace.StyleSheet', new UmbStylesheetRepository(host));
9
12
  this.#data = new UmbObjectState(undefined);
13
+ this.#rules = new UmbArrayState([], (rule) => rule.name);
10
14
  this.data = this.#data.asObservable();
15
+ this.rules = this.#rules.asObservable();
16
+ this.name = createObservablePart(this.#data, (data) => data?.name);
17
+ this.content = createObservablePart(this.#data, (data) => data?.content);
18
+ this.path = createObservablePart(this.#data, (data) => data?.path);
19
+ this.#isCodeEditorReady = new UmbBooleanState(false);
20
+ this.isCodeEditorReady = this.#isCodeEditorReady.asObservable();
21
+ this.#rules.sortBy((a, b) => (a.sortOrder ?? 0) - (b.sortOrder ?? 0));
22
+ this.#loadCodeEditor();
23
+ }
24
+ async #loadCodeEditor() {
25
+ try {
26
+ await loadCodeEditor();
27
+ this.#isCodeEditorReady.next(true);
28
+ }
29
+ catch (error) {
30
+ console.error(error);
31
+ }
11
32
  }
12
33
  getEntityType() {
13
34
  return 'stylesheet';
14
35
  }
36
+ getEntityId() {
37
+ return this.getData()?.path || '';
38
+ }
15
39
  getData() {
16
40
  return this.#data.getValue();
17
41
  }
18
- getEntityId() {
19
- return this.getData()?.path || '';
42
+ getRules() {
43
+ return this.#rules.getValue();
44
+ }
45
+ updateRule(unique, rule) {
46
+ this.#rules.updateOne(unique, rule);
47
+ this.sendRulesGetContent();
48
+ }
49
+ setRules(rules) {
50
+ const newRules = rules.map((r, i) => ({ ...r, sortOrder: i }));
51
+ this.#rules.next(newRules);
52
+ this.sendRulesGetContent();
53
+ }
54
+ setName(value) {
55
+ this.#data.next({ ...this.#data.value, name: value });
56
+ }
57
+ setContent(value) {
58
+ this.#data.next({ ...this.#data.value, content: value });
20
59
  }
21
60
  async load(path) {
22
- const { data } = await this.repository.requestByPath(path);
61
+ const [{ data }, rules] = await Promise.all([
62
+ this.repository.requestById(path),
63
+ this.repository.getStylesheetRules(path),
64
+ ]);
23
65
  if (data) {
24
66
  this.setIsNew(false);
25
67
  this.#data.update(data);
26
68
  }
69
+ else {
70
+ this.#data.update(undefined);
71
+ }
72
+ if (rules.data) {
73
+ const x = rules.data.rules?.map((r, i) => ({ ...r, sortOrder: i })) ?? [];
74
+ this.#rules.next(x);
75
+ }
76
+ else {
77
+ this.#rules.next([]);
78
+ }
79
+ }
80
+ async sendRulesGetContent() {
81
+ const requestBody = {
82
+ content: this.getData()?.content,
83
+ rules: this.getRules(),
84
+ };
85
+ const { data } = await this.repository.interpolateStylesheetRules(requestBody);
86
+ this.setContent(data?.content ?? '');
87
+ }
88
+ async sendContentGetRules() {
89
+ if (!this.getData()?.content)
90
+ return;
91
+ const requestBody = {
92
+ content: this.getData()?.content,
93
+ };
94
+ const { data } = await this.repository.extractStylesheetRules(requestBody);
95
+ this.setRules(data?.rules ?? []);
96
+ }
97
+ findNewSortOrder(rule, newIndex) {
98
+ const rules = [...this.getRules()].sort((a, b) => (a.sortOrder ?? 0) - (b.sortOrder ?? 0));
99
+ const oldIndex = rules.findIndex((r) => r.name === rule.name);
100
+ if (oldIndex === -1)
101
+ return false;
102
+ rules.splice(oldIndex, 1);
103
+ rules.splice(newIndex, 0, rule);
104
+ this.setRules(rules.map((r, i) => ({ ...r, sortOrder: i })));
105
+ return true;
27
106
  }
28
107
  async save() {
29
- throw new Error('Save method not implemented.');
108
+ const stylesheet = this.getData();
109
+ if (!stylesheet) {
110
+ return Promise.reject('Something went wrong, there is no data for partial view you want to save...');
111
+ }
112
+ if (this.getIsNew()) {
113
+ const createRequestBody = {
114
+ name: stylesheet.name,
115
+ content: stylesheet.content,
116
+ parentPath: stylesheet.path === 'null' ? '' : stylesheet.path + '/',
117
+ };
118
+ this.repository.create(createRequestBody);
119
+ return Promise.resolve();
120
+ }
121
+ if (!stylesheet.path)
122
+ return Promise.reject('There is no path');
123
+ const updateRequestBody = {
124
+ name: stylesheet.name,
125
+ existingPath: stylesheet.path,
126
+ content: stylesheet.content,
127
+ };
128
+ this.repository.save(stylesheet.path, updateRequestBody);
129
+ return Promise.resolve();
130
+ }
131
+ async create(parentKey) {
132
+ const newStylesheet = {
133
+ name: '',
134
+ path: parentKey ?? '',
135
+ content: '',
136
+ };
137
+ this.#data.next(newStylesheet);
138
+ this.setIsNew(true);
30
139
  }
31
140
  destroy() {
32
141
  this.#data.complete();
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { serverFilePathFromUrlFriendlyPath } from '../../utils.js';
8
- import { UmbStylesheetWorkspaceEditElement } from './stylesheet-workspace-edit.element.js';
8
+ import { UmbStylesheetWorkspaceEditorElement } from './stylesheet-workspace-editor.element.js';
9
9
  import { UmbStylesheetWorkspaceContext } from './stylesheet-workspace.context.js';
10
10
  import { UmbTextStyles } from "../../../../shared/style/index.js";
11
11
  import { css, html, customElement, state } from '../../../../external/lit/index.js';
@@ -15,16 +15,26 @@ export let UmbStylesheetWorkspaceElement = class UmbStylesheetWorkspaceElement e
15
15
  constructor() {
16
16
  super(...arguments);
17
17
  this.#workspaceContext = new UmbStylesheetWorkspaceContext(this);
18
- this.#element = new UmbStylesheetWorkspaceEditElement();
18
+ this.#element = new UmbStylesheetWorkspaceEditorElement();
19
19
  this._routes = [
20
+ {
21
+ path: 'create/:path',
22
+ component: import('./stylesheet-workspace-editor.element.js'),
23
+ setup: async (_component, info) => {
24
+ const path = info.match.params.path === 'null' ? null : info.match.params.path;
25
+ const serverPath = path === null ? null : serverFilePathFromUrlFriendlyPath(path);
26
+ await this.#workspaceContext.create(serverPath);
27
+ new UmbWorkspaceIsNewRedirectController(this, this.#workspaceContext, this.shadowRoot.querySelector('umb-router-slot'));
28
+ },
29
+ },
20
30
  {
21
31
  path: 'edit/:path',
22
- component: () => this.#element,
32
+ component: import('./stylesheet-workspace-editor.element.js'),
23
33
  setup: (_component, info) => {
34
+ this.removeControllerByAlias('_observeIsNew');
24
35
  const path = info.match.params.path;
25
36
  const serverPath = serverFilePathFromUrlFriendlyPath(path);
26
37
  this.#workspaceContext.load(serverPath);
27
- new UmbWorkspaceIsNewRedirectController(this, this.#workspaceContext, this.shadowRoot.querySelector('umb-router-slot'));
28
38
  },
29
39
  },
30
40
  ];
@@ -0,0 +1,16 @@
1
+ import { UmbLitElement } from '../../../../../../shared/lit-element/index.js';
2
+ export declare class UmbStylesheetWorkspaceViewCodeEditorElement extends UmbLitElement {
3
+ #private;
4
+ private _content?;
5
+ private _ready?;
6
+ constructor();
7
+ disconnectedCallback(): void;
8
+ render(): import("lit-html").TemplateResult<1>;
9
+ static styles: import("lit").CSSResult[];
10
+ }
11
+ export default UmbStylesheetWorkspaceViewCodeEditorElement;
12
+ declare global {
13
+ interface HTMLElementTagNameMap {
14
+ 'umb-stylesheet-workspace-view-code-editor': UmbStylesheetWorkspaceViewCodeEditorElement;
15
+ }
16
+ }