-
-
-
- {{ template.description | str_limit(150) }}
-
-
- {{ category.name }}
-
- +{{ catCount }}
-
-
+
+
+
@@ -84,52 +36,4 @@ export default {
.template-select-card-container {
flex: 0 0 33.333333%;
}
-.template-select-card {
- // width: 292px;
- height: 172px;
- border-radius: 4px;
- padding: 10px 8px 10px 8px;
- overflow: hidden;
- border: 2px solid rgba(0, 0, 0, 0.125);
-}
-
-.card-title {
- font-weight: 600;
- font-size: 14px;
-}
-
-.card-img {
- background: #80808017;
- height: 112px;
- display: flex;
- align-items: center;
-}
-
-.card-body {
- padding: 2px!important;
-}
-
-.card-text {
- font-size: 12px;
- color: #6C757D;
-}
-
-.category-badge {
- background-color: #DEEBFF;
- color: #104A75;
- font-size: 12px;
-}
-
-.hover {
- border-color: #1572C2;
- cursor: pointer;
-}
-
-@media (min-width: 576px) {
- .card-deck .card {
- margin-left: 9px;
- margin-right: 9px;
- }
-}
-
diff --git a/resources/js/components/templates/WizardTemplateCard.vue b/resources/js/components/templates/WizardTemplateCard.vue
new file mode 100644
index 0000000000..f80d8e6304
--- /dev/null
+++ b/resources/js/components/templates/WizardTemplateCard.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+

+
+
+
+ {{ template.name | str_limit(30) }}
+ {{ template.shortDescription | str_limit(150) }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/js/components/templates/mixins/template.js b/resources/js/components/templates/mixins/template.js
new file mode 100644
index 0000000000..d2262d5d5c
--- /dev/null
+++ b/resources/js/components/templates/mixins/template.js
@@ -0,0 +1,33 @@
+import Vue from "vue";
+
+Vue.filter("str_limit", (value, size) => {
+ if (!value) return "";
+ value = value.toString();
+
+ if (value.length <= size) {
+ return value;
+ }
+ return `${value.substr(0, size)}...`;
+});
+
+export default {
+ data() {
+ return {
+
+ };
+ },
+ mounted() {
+ },
+ methods: {
+ showDetails() {
+ this.$emit("show-details", { template: this.template });
+ },
+ addHoverClass(event) {
+ event.target.classList.add("hover");
+ },
+ removeHoverClass(event) {
+ event.target.classList.remove("hover");
+ },
+ },
+ };
+
\ No newline at end of file
diff --git a/resources/js/processes-catalogue/components/ProcessInfo.vue b/resources/js/processes-catalogue/components/ProcessInfo.vue
new file mode 100644
index 0000000000..94e210d00d
--- /dev/null
+++ b/resources/js/processes-catalogue/components/ProcessInfo.vue
@@ -0,0 +1,41 @@
+
+
+
+ {{ $t('Processes Browser') }}
+
+
+
+
+
+ Process Map
+
+
+ Process Options
+
+
+
+ Process Tab
+
+
+
+
+
+
diff --git a/resources/js/processes-catalogue/components/ProcessesCatalogue.vue b/resources/js/processes-catalogue/components/ProcessesCatalogue.vue
new file mode 100644
index 0000000000..aaa6eeaba5
--- /dev/null
+++ b/resources/js/processes-catalogue/components/ProcessesCatalogue.vue
@@ -0,0 +1,68 @@
+
+
+
+
{{ $t('Processes Browser') }}
+
+ -
+
+
+
+
+
+
+
+
+

+
+
+ {{ $t('Currently you dont have processes created') }}
+
+
+ {{ $t('We encourage you to create new processes using our templates') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/js/processes-catalogue/components/WizardTemplates.vue b/resources/js/processes-catalogue/components/WizardTemplates.vue
new file mode 100644
index 0000000000..2f608956c7
--- /dev/null
+++ b/resources/js/processes-catalogue/components/WizardTemplates.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
diff --git a/resources/js/processes-catalogue/index.js b/resources/js/processes-catalogue/index.js
new file mode 100644
index 0000000000..acbe35c721
--- /dev/null
+++ b/resources/js/processes-catalogue/index.js
@@ -0,0 +1,11 @@
+import Vue from "vue";
+import ProcessesCatalogue from "./components/ProcessesCatalogue";
+
+new Vue({
+ el: "#processes-catalogue",
+ components: { ProcessesCatalogue },
+ data: {
+ },
+ methods: {
+ },
+});
diff --git a/resources/js/processes-catalogue/open.js b/resources/js/processes-catalogue/open.js
new file mode 100644
index 0000000000..94e67c4e58
--- /dev/null
+++ b/resources/js/processes-catalogue/open.js
@@ -0,0 +1,9 @@
+import Vue from "vue";
+import ProcessInfo from "./components/ProcessInfo.vue";
+
+new Vue({
+ el: "#open-process",
+ components: { ProcessInfo },
+ data: {},
+ methods: {},
+});
diff --git a/resources/views/processes-catalogue/index.blade.php b/resources/views/processes-catalogue/index.blade.php
new file mode 100644
index 0000000000..178e2a51d9
--- /dev/null
+++ b/resources/views/processes-catalogue/index.blade.php
@@ -0,0 +1,19 @@
+@extends('layouts.layout')
+
+@section('title')
+ {{__('Processes Catalogue')}}
+@endsection
+
+@section('sidebar')
+ @include('layouts.sidebar', ['sidebar' => Menu::get('sidebar_processes_catalogue')])
+@endsection
+
+@section('content')
+
+@endsection
+
+@section('js')
+
+@endsection
diff --git a/resources/views/processes-catalogue/open.blade.php b/resources/views/processes-catalogue/open.blade.php
new file mode 100644
index 0000000000..4532aea778
--- /dev/null
+++ b/resources/views/processes-catalogue/open.blade.php
@@ -0,0 +1,19 @@
+@extends('layouts.layout')
+
+@section('title')
+ {{__('Processes Catalogue')}}
+@endsection
+
+@section('sidebar')
+ @include('layouts.sidebar', ['sidebar' => Menu::get('sidebar_processes_catalogue')])
+@endsection
+
+@section('content')
+
+@endsection
+
+@section('js')
+
+@endsection
diff --git a/routes/web.php b/routes/web.php
index 0d37a8ca77..9bdc56853a 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -27,6 +27,7 @@
use ProcessMaker\Http\Controllers\Process\ScriptController;
use ProcessMaker\Http\Controllers\Process\SignalController;
use ProcessMaker\Http\Controllers\ProcessController;
+use ProcessMaker\Http\Controllers\ProcessesCatalogueController;
use ProcessMaker\Http\Controllers\ProfileController;
use ProcessMaker\Http\Controllers\RequestController;
use ProcessMaker\Http\Controllers\TaskController;
@@ -89,6 +90,9 @@
Route::get('designer/scripts/categories', [ScriptController::class, 'index'])->name('script-categories.index')->middleware('can:view-script-categories');
Route::get('designer', [DesignerController::class, 'index'])->name('designer.index');
+
+ Route::get('processes-catalogue', [ProcessesCatalogueController::class, 'index'])->name('processes.catalogue.index');
+
Route::get('processes', [ProcessController::class, 'index'])->name('processes.index');
Route::get('processes/{process}/edit', [ProcessController::class, 'edit'])->name('processes.edit')->middleware('can:edit-processes');
Route::get('processes/{process}/export/{page?}', [ProcessController::class, 'export'])->name('processes.export')->middleware('can:export-processes');
diff --git a/webpack.mix.js b/webpack.mix.js
index 5d729dde12..f05618cfae 100644
--- a/webpack.mix.js
+++ b/webpack.mix.js
@@ -116,6 +116,9 @@ mix.js("resources/js/app-layout.js", "public/js")
.js("resources/js/processes/translations/import.js", "public/js/processes/translations")
+ .js("resources/js/processes-catalogue/index.js", "public/js/processes-catalogue/index.js")
+ .js("resources/js/processes-catalogue/open.js", "public/js/processes-catalogue/open.js")
+
.js("resources/js/tasks/index.js", "public/js/tasks/index.js")
.js("resources/js/tasks/mobile.js", "public/js/tasks/mobile.js")
.js("resources/js/tasks/show.js", "public/js/tasks/show.js")