From 82012df437d783fcb00808510626eb2f8c848b36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustavo=20Bascop=C3=A9?= Date: Tue, 26 Nov 2024 13:29:29 -0400 Subject: [PATCH 1/5] Added the description field to bundles --- .../Controllers/Api/DevLinkController.php | 6 +++-- ...45144_add_description_to_bundles_table.php | 27 +++++++++++++++++++ .../admin/devlink/components/BundleModal.vue | 8 ++++++ .../admin/devlink/components/LocalBundles.vue | 1 + 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 database/migrations/2024_11_26_145144_add_description_to_bundles_table.php diff --git a/ProcessMaker/Http/Controllers/Api/DevLinkController.php b/ProcessMaker/Http/Controllers/Api/DevLinkController.php index 634ddac124..bec0058ceb 100644 --- a/ProcessMaker/Http/Controllers/Api/DevLinkController.php +++ b/ProcessMaker/Http/Controllers/Api/DevLinkController.php @@ -4,10 +4,10 @@ use Illuminate\Http\Request; use Illuminate\Validation\Rule; +use ProcessMaker\Exception\ValidationException; use ProcessMaker\Http\Controllers\Controller; use ProcessMaker\Http\Resources\ApiCollection; use ProcessMaker\Jobs\DevLinkInstall; -use ProcessMaker\Exception\ValidationException; use ProcessMaker\Models\Bundle; use ProcessMaker\Models\BundleAsset; use ProcessMaker\Models\DevLink; @@ -131,6 +131,7 @@ public function createBundle(Request $request) { $bundle = new Bundle(); $bundle->name = $request->input('name'); + $bundle->description = $request->input('description'); $bundle->published = (bool) $request->input('published', false); $bundle->version = 1; $bundle->saveOrFail(); @@ -143,6 +144,7 @@ public function updateBundle(Request $request, Bundle $bundle) $bundle->validateEditable(); $bundle->name = $request->input('name'); + $bundle->description = $request->input('description'); $bundle->published = (bool) $request->input('published', false); $bundle->saveOrFail(); @@ -212,7 +214,7 @@ public function addAsset(Request $request, Bundle $bundle) $asset = $request->input('type')::findOrFail($request->input('id')); $bundle->addAsset($asset); } - + public function addAssetToBundles(Request $request) { $bundles = $request->input('bundles'); diff --git a/database/migrations/2024_11_26_145144_add_description_to_bundles_table.php b/database/migrations/2024_11_26_145144_add_description_to_bundles_table.php new file mode 100644 index 0000000000..c487bd55fb --- /dev/null +++ b/database/migrations/2024_11_26_145144_add_description_to_bundles_table.php @@ -0,0 +1,27 @@ +text('description')->after('name'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('bundles', function (Blueprint $table) { + $table->dropColumn('description'); + }); + } +}; diff --git a/resources/js/admin/devlink/components/BundleModal.vue b/resources/js/admin/devlink/components/BundleModal.vue index abc1c3ae41..2f83ff1b3d 100644 --- a/resources/js/admin/devlink/components/BundleModal.vue +++ b/resources/js/admin/devlink/components/BundleModal.vue @@ -10,6 +10,14 @@ + + + diff --git a/resources/js/admin/devlink/components/LocalBundles.vue b/resources/js/admin/devlink/components/LocalBundles.vue index 6a0bba8bed..047a768a7b 100644 --- a/resources/js/admin/devlink/components/LocalBundles.vue +++ b/resources/js/admin/devlink/components/LocalBundles.vue @@ -85,6 +85,7 @@ const fields = [ const bundleAttributes = { id: null, name: '', + description: '', published: false, }; From 18c3151d254a3ea8f266b26660772851d42aeaa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustavo=20Bascop=C3=A9?= Date: Thu, 28 Nov 2024 10:28:41 -0400 Subject: [PATCH 2/5] Created new children routes for devlink bundle assets --- .../admin/devlink/components/BundleAssets.vue | 266 ++++++------------ .../components/BundleConfigurations.vue | 33 +++ .../devlink/components/BundleContent.vue | 21 ++ .../admin/devlink/components/BundleDetail.vue | 74 +++++ .../devlink/components/BundleSidebar.vue | 60 ++++ .../admin/devlink/components/LocalBundles.vue | 2 +- resources/js/admin/devlink/index.js | 11 +- 7 files changed, 279 insertions(+), 188 deletions(-) create mode 100644 resources/js/admin/devlink/components/BundleConfigurations.vue create mode 100644 resources/js/admin/devlink/components/BundleContent.vue create mode 100644 resources/js/admin/devlink/components/BundleDetail.vue create mode 100644 resources/js/admin/devlink/components/BundleSidebar.vue diff --git a/resources/js/admin/devlink/components/BundleAssets.vue b/resources/js/admin/devlink/components/BundleAssets.vue index 316ddfa6c6..906e5a505c 100644 --- a/resources/js/admin/devlink/components/BundleAssets.vue +++ b/resources/js/admin/devlink/components/BundleAssets.vue @@ -1,218 +1,112 @@ - - + - diff --git a/resources/js/admin/devlink/components/BundleConfigurations.vue b/resources/js/admin/devlink/components/BundleConfigurations.vue new file mode 100644 index 0000000000..e3e1c37813 --- /dev/null +++ b/resources/js/admin/devlink/components/BundleConfigurations.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/resources/js/admin/devlink/components/BundleContent.vue b/resources/js/admin/devlink/components/BundleContent.vue new file mode 100644 index 0000000000..518697ca85 --- /dev/null +++ b/resources/js/admin/devlink/components/BundleContent.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/resources/js/admin/devlink/components/BundleDetail.vue b/resources/js/admin/devlink/components/BundleDetail.vue new file mode 100644 index 0000000000..d53b91135d --- /dev/null +++ b/resources/js/admin/devlink/components/BundleDetail.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/resources/js/admin/devlink/components/BundleSidebar.vue b/resources/js/admin/devlink/components/BundleSidebar.vue new file mode 100644 index 0000000000..d3d32cffe8 --- /dev/null +++ b/resources/js/admin/devlink/components/BundleSidebar.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/resources/js/admin/devlink/components/LocalBundles.vue b/resources/js/admin/devlink/components/LocalBundles.vue index 047a768a7b..79b46f02a6 100644 --- a/resources/js/admin/devlink/components/LocalBundles.vue +++ b/resources/js/admin/devlink/components/LocalBundles.vue @@ -203,7 +203,7 @@ const canEdit = (bundle) => { } const goToBundleAssets = (bundle) => { - router.push({ name: 'bundle-assets', params: { id: bundle.id } }); + router.push({ name: 'bundle-detail', params: { id: bundle.id } }); } const deleteWarning = computed(() => { diff --git a/resources/js/admin/devlink/index.js b/resources/js/admin/devlink/index.js index a5c475c010..03eade41eb 100644 --- a/resources/js/admin/devlink/index.js +++ b/resources/js/admin/devlink/index.js @@ -7,6 +7,8 @@ import Assets from "./components/Assets"; import AssetListing from "./components/AssetListing"; import SharedAssets from "./components/SharedAssets"; import BundleAssets from "./components/BundleAssets"; +import BundleDetail from "./components/BundleDetail.vue"; +import BundleContent from "./components/BundleContent.vue"; Vue.use(VueRouter); const router = new VueRouter({ @@ -32,7 +34,14 @@ const router = new VueRouter({ { name: "bundle-assets", path: "/local-bundles/:id", - component: BundleAssets, + component: BundleContent, + children: [ + { + name: "bundle-detail", + path: "", + component: BundleDetail, + }, + ], }, { name: 'assets', From 820133f55c93495eeb0a74697a40125f2dadb760 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustavo=20Bascop=C3=A9?= Date: Thu, 28 Nov 2024 11:17:16 -0400 Subject: [PATCH 3/5] Added nulleable to the new field description --- .../2024_11_26_145144_add_description_to_bundles_table.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/migrations/2024_11_26_145144_add_description_to_bundles_table.php b/database/migrations/2024_11_26_145144_add_description_to_bundles_table.php index c487bd55fb..26f93cef62 100644 --- a/database/migrations/2024_11_26_145144_add_description_to_bundles_table.php +++ b/database/migrations/2024_11_26_145144_add_description_to_bundles_table.php @@ -11,7 +11,7 @@ public function up(): void { Schema::table('bundles', function (Blueprint $table) { - $table->text('description')->after('name'); + $table->text('description')->after('name')->nullable(); }); } From 9f289ae947b03d23a4d6e0d79c47ddd8eb5f7571 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustavo=20Bascop=C3=A9?= Date: Fri, 29 Nov 2024 09:01:29 -0400 Subject: [PATCH 4/5] Added styles to bundle assets header details --- devhub/pm-font/svg/edit-outline.svg | 3 + devhub/pm-font/svg/plus-thin.svg | 3 + resources/fonts/pm-font/index.html | 4 +- resources/fonts/pm-font/processmaker-font.css | 54 +++---- resources/fonts/pm-font/processmaker-font.eot | Bin 17048 -> 17732 bytes .../fonts/pm-font/processmaker-font.less | 54 +++---- .../pm-font/processmaker-font.module.less | 54 +++---- .../fonts/pm-font/processmaker-font.scss | 96 ++++++------ .../fonts/pm-font/processmaker-font.styl | 54 +++---- resources/fonts/pm-font/processmaker-font.svg | 46 +++--- .../pm-font/processmaker-font.symbol.svg | 2 +- resources/fonts/pm-font/processmaker-font.ttf | Bin 16844 -> 17528 bytes .../fonts/pm-font/processmaker-font.woff | Bin 11156 -> 11584 bytes .../fonts/pm-font/processmaker-font.woff2 | Bin 9860 -> 10280 bytes resources/fonts/pm-font/symbol.html | 16 +- resources/fonts/pm-font/unicode.html | 12 +- .../admin/devlink/components/BundleAssets.vue | 7 + .../admin/devlink/components/BundleDetail.vue | 141 +++++++++++++++++- .../devlink/components/BundleSidebar.vue | 9 +- .../js/admin/devlink/components/DevLink.vue | 2 +- 20 files changed, 364 insertions(+), 193 deletions(-) create mode 100644 devhub/pm-font/svg/edit-outline.svg create mode 100644 devhub/pm-font/svg/plus-thin.svg diff --git a/devhub/pm-font/svg/edit-outline.svg b/devhub/pm-font/svg/edit-outline.svg new file mode 100644 index 0000000000..5f6721106e --- /dev/null +++ b/devhub/pm-font/svg/edit-outline.svg @@ -0,0 +1,3 @@ + + + diff --git a/devhub/pm-font/svg/plus-thin.svg b/devhub/pm-font/svg/plus-thin.svg new file mode 100644 index 0000000000..ef88e8a85a --- /dev/null +++ b/devhub/pm-font/svg/plus-thin.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/fonts/pm-font/index.html b/resources/fonts/pm-font/index.html index 281a2aa4c4..a8e819e943 100644 --- a/resources/fonts/pm-font/index.html +++ b/resources/fonts/pm-font/index.html @@ -103,7 +103,7 @@
-

ProcessMaker Icons4.12.0+alpha-3

+

ProcessMaker Icons4.12.0+beta-5

Icons generated with svgtofont. For add new icons, please check the README file
@@ -115,7 +115,7 @@

ProcessMaker Icons4.12.0+alpha-3

    -
  • bpmn-action-by-email

  • bpmn-data-connector

  • bpmn-data-object

  • bpmn-data-store

  • bpmn-docusign

  • bpmn-end-event

  • bpmn-flowgenie

  • bpmn-gateway

  • bpmn-generic-gateway

  • bpmn-idp

  • bpmn-intermediate-event

  • bpmn-pool

  • bpmn-send-email

  • bpmn-start-event

  • bpmn-task

  • bpmn-text-annotation

  • brush-icon

  • close

  • cloud-download-outline

  • copy

  • desktop

  • eye

  • fields-icon

  • flowgenie-outline

  • folder-outline

  • fullscreen

  • github

  • layout-icon

  • map

  • mobile

  • pdf

  • play-outline

  • plus

  • screen-outline

  • script-outline

  • slack-notification

  • slack

  • slideshow

  • table

  • trash

  • unlink

  • +
  • bpmn-action-by-email

  • bpmn-data-connector

  • bpmn-data-object

  • bpmn-data-store

  • bpmn-docusign

  • bpmn-end-event

  • bpmn-flowgenie

  • bpmn-gateway

  • bpmn-generic-gateway

  • bpmn-idp

  • bpmn-intermediate-event

  • bpmn-pool

  • bpmn-send-email

  • bpmn-start-event

  • bpmn-task

  • bpmn-text-annotation

  • brush-icon

  • close

  • cloud-download-outline

  • copy

  • desktop

  • edit-outline

  • eye

  • fields-icon

  • flowgenie-outline

  • folder-outline

  • fullscreen

  • github

  • layout-icon

  • map

  • mobile

  • pdf

  • play-outline

  • plus-thin

  • plus

  • screen-outline

  • script-outline

  • slack-notification

  • slack

  • slideshow

  • table

  • trash

  • unlink

-

ProcessMaker Icons4.12.0+alpha-3

+

ProcessMaker Icons4.12.0+beta-5

Icons generated with svgtofont. For add new icons, please check the README file
@@ -261,6 +261,13 @@

fp-copy

fp-desktop

+
  • + +

    fp-edit-outline

    +
  • +
  • fp-pdf

    fp-play-outline

  • +
  • + +

    fp-plus-thin

    +
  • +
  • -

    ProcessMaker Icons4.12.0+alpha-3

    +

    ProcessMaker Icons4.12.0+beta-5

    Icons generated with svgtofont. For add new icons, please check the README file
    @@ -134,7 +134,7 @@

    ProcessMaker Icons4.12.0+alpha-3

      -
    • bpmn-action-by-email

      
    • bpmn-data-connector

      
    • bpmn-data-object

      
    • bpmn-data-store

      
    • bpmn-docusign

      
    • bpmn-end-event

      
    • bpmn-flowgenie

      
    • bpmn-gateway

      
    • bpmn-generic-gateway

      
    • bpmn-idp

      
    • bpmn-intermediate-event

      
    • bpmn-pool

      
    • bpmn-send-email

      
    • bpmn-start-event

      
    • bpmn-task

      
    • bpmn-text-annotation

      
    • brush-icon

      
    • close

      
    • cloud-download-outline

      
    • copy

      
    • desktop

      
    • eye

      
    • fields-icon

      
    • flowgenie-outline

      
    • folder-outline

      
    • fullscreen

      
    • github

      
    • layout-icon

      
    • map

      
    • mobile

      
    • pdf

      
    • play-outline

      
    • plus

      
    • screen-outline

      
    • script-outline

      
    • slack-notification

      
    • slack

      
    • slideshow

      
    • table

      
    • trash

      
    • unlink

      
    • +
    • bpmn-action-by-email

      
    • bpmn-data-connector

      
    • bpmn-data-object

      
    • bpmn-data-store

      
    • bpmn-docusign

      
    • bpmn-end-event

      
    • bpmn-flowgenie

      
    • bpmn-gateway

      
    • bpmn-generic-gateway

      
    • bpmn-idp

      
    • bpmn-intermediate-event

      
    • bpmn-pool

      
    • bpmn-send-email

      
    • bpmn-start-event

      
    • bpmn-task

      
    • bpmn-text-annotation

      
    • brush-icon

      
    • close

      
    • cloud-download-outline

      
    • copy

      
    • desktop

      
    • edit-outline

      
    • eye

      
    • fields-icon

      
    • flowgenie-outline

      
    • folder-outline

      
    • fullscreen

      
    • github

      
    • layout-icon

      
    • map

      
    • mobile

      
    • pdf

      
    • play-outline

      
    • plus-thin

      
    • plus

      
    • screen-outline

      
    • script-outline

      
    • slack-notification

      
    • slack

      
    • slideshow

      
    • table

      
    • trash

      
    • unlink

      

    {{ $t(type.name) }}

    + {{ getAssetCount(type.type) }}
    @@ -73,6 +74,12 @@ const getAssetCount = (type) => { margin-left: 15px; } +.asset-count { + font-size: 14px; + font-weight: 400; + color: #728092; +} + h3 { margin: 0; font-size: 14px; diff --git a/resources/js/admin/devlink/components/BundleDetail.vue b/resources/js/admin/devlink/components/BundleDetail.vue index d53b91135d..62aa72af9a 100644 --- a/resources/js/admin/devlink/components/BundleDetail.vue +++ b/resources/js/admin/devlink/components/BundleDetail.vue @@ -1,13 +1,61 @@ + + + + diff --git a/resources/js/admin/devlink/components/BundleAssets.vue b/resources/js/admin/devlink/components/BundleAssets.vue index 4c7f36ea4e..b0d4e28bc7 100644 --- a/resources/js/admin/devlink/components/BundleAssets.vue +++ b/resources/js/admin/devlink/components/BundleAssets.vue @@ -8,7 +8,7 @@

    {{ $t(type.name) }}

    - {{ getAssetCount(type.type) }} + {{ getAssetCount(type.type) }} items
    @@ -21,8 +21,11 @@ diff --git a/resources/js/admin/devlink/components/BundleConfigurations.vue b/resources/js/admin/devlink/components/BundleConfigurations.vue index e3e1c37813..61d44ff7ff 100644 --- a/resources/js/admin/devlink/components/BundleConfigurations.vue +++ b/resources/js/admin/devlink/components/BundleConfigurations.vue @@ -1,27 +1,39 @@ diff --git a/resources/js/admin/devlink/components/BundleContent.vue b/resources/js/admin/devlink/components/BundleContent.vue index 518697ca85..90ded1cd8c 100644 --- a/resources/js/admin/devlink/components/BundleContent.vue +++ b/resources/js/admin/devlink/components/BundleContent.vue @@ -16,6 +16,5 @@ const activeSection = ref('summary'); diff --git a/resources/js/admin/devlink/components/BundleDetail.vue b/resources/js/admin/devlink/components/BundleDetail.vue index 62aa72af9a..fe8c57174e 100644 --- a/resources/js/admin/devlink/components/BundleDetail.vue +++ b/resources/js/admin/devlink/components/BundleDetail.vue @@ -69,13 +69,26 @@

    {{ bundle.description || $t('No description available') }}

    +
    + + +
    + {{ $t('Assets') }} +
    + + + { loading.value = true; const response = await window.ProcessMaker.apiClient.get(`/api/1.0/devlink/local-bundles/${bundleId}`); @@ -184,6 +192,21 @@ width: 100%; font-weight: 400; text-align: justify; } +.divider { + border-top: 1px solid #E9ECF1; + height: 1px; + margin-top: 12px; + margin-bottom: 24px; + margin-left: 24px; + margin-right: 24px; +} +.assets-section-title { + font-size: 18px; + font-weight: 500; + padding-left: 24px; + padding-right: 24px; + margin-bottom: 8px; +} ::v-deep .btn { font-size: 14px; border-radius: 8px; diff --git a/resources/js/admin/devlink/components/assetTypes.js b/resources/js/admin/devlink/components/assetTypes.js index 5b9bb82c72..38c9d6824f 100644 --- a/resources/js/admin/devlink/components/assetTypes.js +++ b/resources/js/admin/devlink/components/assetTypes.js @@ -1,6 +1,6 @@ export default [ { - type: 'processes', + type: 'process', name: 'Processes', url: 'api.processes.index', class: 'ProcessMaker\\Models\\Process', diff --git a/resources/js/admin/devlink/components/platformConfigurations.js b/resources/js/admin/devlink/components/platformConfigurations.js new file mode 100644 index 0000000000..35fe017ed5 --- /dev/null +++ b/resources/js/admin/devlink/components/platformConfigurations.js @@ -0,0 +1,50 @@ +export default [ + { + type: "users", + name: "Users", + status: "All", + enabled: true, + }, + { + type: "groups", + name: "Groups", + status: "Not shared", + enabled: false, + }, + { + type: "auth_clients", + name: "Auth Clients", + status: "Not shared", + enabled: false, + }, + { + type: "ui_settings", + name: "UI Settings", + status: "Not shared", + enabled: false, + }, + { + type: "script_executors", + name: "Script Executors", + status: "Not shared", + enabled: false, + }, + { + type: "analytics_settings", + name: "Analytics Settings", + status: "Not shared", + enabled: false, + }, + { + type: "public_files", + name: "Public Files", + status: "Not shared", + enabled: false, + }, + { + type: "translations", + name: "Translations", + status: "Not shared", + enabled: false, + }, +]; \ No newline at end of file diff --git a/resources/js/admin/devlink/components/settings.js b/resources/js/admin/devlink/components/settings.js new file mode 100644 index 0000000000..de463c65ba --- /dev/null +++ b/resources/js/admin/devlink/components/settings.js @@ -0,0 +1,26 @@ +export default [ + { + type: "email_settings", + name: "Email Settings", + status: "All", + enabled: true, + }, + { + type: "log-in_auth", + name: "Log-in & Auth", + status: "Not shared", + enabled: false, + }, + { + type: "user_settings", + name: "User Settings", + status: "Not shared", + enabled: false, + }, + { + type: "integrations", + name: "Integrations", + status: "Not shared", + enabled: false, + }, +]; diff --git a/resources/js/admin/devlink/index.js b/resources/js/admin/devlink/index.js index 03eade41eb..f5951587ee 100644 --- a/resources/js/admin/devlink/index.js +++ b/resources/js/admin/devlink/index.js @@ -6,9 +6,9 @@ import LocalBundles from "./components/LocalBundles"; import Assets from "./components/Assets"; import AssetListing from "./components/AssetListing"; import SharedAssets from "./components/SharedAssets"; -import BundleAssets from "./components/BundleAssets"; import BundleDetail from "./components/BundleDetail.vue"; import BundleContent from "./components/BundleContent.vue"; +import BundleAssetListing from "./components/BundleAssetListing.vue"; Vue.use(VueRouter); const router = new VueRouter({ @@ -41,6 +41,11 @@ const router = new VueRouter({ path: "", component: BundleDetail, }, + { + name: "bundle-asset-listing", + path: "assets/:type", + component: BundleAssetListing, + } ], }, {