From e119d71e67e3940168dda33832d4b1224fddd007 Mon Sep 17 00:00:00 2001 From: saeid_01 Date: Wed, 30 Oct 2019 20:04:40 +0330 Subject: [PATCH 1/4] modals --- .gitignore | 1 + public/mix-manifest.json | 8 ++++---- resources/js/Global/mixins/global.js | 8 +------- resources/js/Global/store/modules/modal/actions.js | 10 ++++++++-- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 17417ba..198ade7 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ /vendor /modules /development/ +jsconfig.json .env .phpunit.result.cache Homestead.json diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 6e45844..06a928d 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,6 +1,6 @@ { - "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=979ca3cbe3ae6f2f6648", - "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=952eba47f3c87b27c8e4", - "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=2438d0b19611c164de10", - "/js/vue/User/app.js": "/js/vue/User/app.js?id=90b3808d13f34c14baac" + "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=69a485a398e10ecf1480", + "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=7afee120275aa1ba59cf", + "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=c369ba53a87cf86d69ee", + "/js/vue/User/app.js": "/js/vue/User/app.js?id=5b6de9215672f63f22ce" } diff --git a/resources/js/Global/mixins/global.js b/resources/js/Global/mixins/global.js index 7cd82d4..1c48e7c 100644 --- a/resources/js/Global/mixins/global.js +++ b/resources/js/Global/mixins/global.js @@ -12,13 +12,7 @@ const global = { //Modal - ...mapActions("modal", ["openModal", "closeModal", "dialog"]), - $_openModal(options) { - this.openModal(options); - }, - $_closeModal(options) { - this.closeModal(options); - }, + ...mapActions("modal", ["$_openModal", "$_closeModal", "dialog"]), //Alert diff --git a/resources/js/Global/store/modules/modal/actions.js b/resources/js/Global/store/modules/modal/actions.js index 0930912..2e30d9d 100644 --- a/resources/js/Global/store/modules/modal/actions.js +++ b/resources/js/Global/store/modules/modal/actions.js @@ -1,17 +1,23 @@ export default { - openModal: ({ rootState }, modal) => { + $_openModal: ({ rootState }, modal) => { let modalArray = modal.split("/"); if (modalArray.length == 2) { rootState[modalArray[0]]['modal'][modalArray[1]] = true; + // if (typeof rootState[modalArray[0]]['callback_modal'] != "undefined" && typeof rootState[modalArray[0]]['callback_modal'][modalArray[1]] != "undefined") { + + // } } else { rootState.modal[modalArray[0]] = true; } }, - closeModal: ({ state, rootState }, modal) => { + $_closeModal: ({ state, rootState }, modal) => { let modalArray = modal.split("/"); if (modalArray.length == 2) { rootState[modalArray[0]]['modal'][modalArray[1]] = false; + // if (typeof rootState[modalArray[0]]['callback_modal'] != "undefined" && typeof rootState[modalArray[0]]['callback_modal'][modalArray[1]] != "undefined") { + + // } } else { rootState.modal[modalArray[0]] = false; } From f64ac2320a93ebacd7175776fe600c5dacdae2af Mon Sep 17 00:00:00 2001 From: Farid Saravi Date: Fri, 1 Nov 2019 17:20:21 +0330 Subject: [PATCH 2/4] change file system and media library config --- config/filesystems.php | 12 ++++++++++-- config/medialibrary.php | 8 +++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/config/filesystems.php b/config/filesystems.php index eff4862..1ce0d5f 100644 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -64,9 +64,17 @@ return [ 'url' => env('AWS_URL'), ], - 'media' => [ + 'media_dev' => [ 'driver' => 'local', - 'root' => public_path('uploads'), + 'root' => public_path(), + ], + + 'media' => [ + 'driver' => 'ftp', + 'host' => '185.142.158.22', + 'username' => 'willacdn', + 'password' => 'F9NvDsT*HVhLA@$', + 'root' => 'private_html', ], ], diff --git a/config/medialibrary.php b/config/medialibrary.php index afb616f..7a1a092 100644 --- a/config/medialibrary.php +++ b/config/medialibrary.php @@ -6,7 +6,7 @@ return [ * The disk on which to store added files and derived images by default. Choose * one or more of the disks you've configured in config/filesystems.php. */ - 'disk_name' => env('MEDIA_DISK', 'media'), + 'disk_name' => env('APP_DEBUG', true) ? 'media_dev' : 'media', /* * The maximum file size of an item in bytes. @@ -74,7 +74,7 @@ return [ * When urls to files get generated, this class will be called. Leave empty * if your files are stored locally above the site root or on s3. */ - 'url_generator' => null, + 'url_generator' => env('APP_DEBUG', true) ? null : 'WM\Common\Services\Media\UrlGenerator\FtpUrlGenerator', /* * Whether to activate versioning when urls to files get generated. @@ -85,7 +85,7 @@ return [ /* * The class that contains the strategy for determining a media file's path. */ - 'path_generator' => null, + 'path_generator' => 'WM\Common\Services\Media\PathGenerator', /* * Medialibrary will try to optimize all converted images by removing @@ -153,4 +153,6 @@ return [ 'perform_conversions' => Spatie\MediaLibrary\Jobs\PerformConversions::class, 'generate_responsive_images' => Spatie\MediaLibrary\Jobs\GenerateResponsiveImages::class, ], + + 'wm-cdn' => 'https://cdn.willamall.com', ]; From 7a1ac225a2300b9f7859c68551cf8491e56a1200 Mon Sep 17 00:00:00 2001 From: Saeid Date: Mon, 4 Nov 2019 17:22:56 +0330 Subject: [PATCH 3/4] work in office and change structrue modal task and has bug --- public/mix-manifest.json | 8 ++--- resources/js/Global/mixins/global.js | 2 +- .../js/Global/store/modules/modal/actions.js | 34 ++++++++++++++++--- .../js/Global/store/modules/modal/getters.js | 7 ++++ .../js/Global/store/modules/modal/state.js | 1 + .../Global/utils/common/CreateFilterObject.js | 8 ++++- 6 files changed, 49 insertions(+), 11 deletions(-) diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 37600bf..0ae88cc 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,6 +1,6 @@ { - "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=ef1264c79c4715437c5f", - "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=effcde9e131519164ea0", - "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=f672b310d08bd18def06", - "/js/vue/User/app.js": "/js/vue/User/app.js?id=f8e9ae158d99d0712bd3" + "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=ba0468b2a7b3ddd0a861", + "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=1b0d17349d40abecc170", + "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=da887fb2dfe98868a044", + "/js/vue/User/app.js": "/js/vue/User/app.js?id=662467cf65cdd52ce013" } diff --git a/resources/js/Global/mixins/global.js b/resources/js/Global/mixins/global.js index 7b753d3..9581840 100644 --- a/resources/js/Global/mixins/global.js +++ b/resources/js/Global/mixins/global.js @@ -12,7 +12,7 @@ const global = { //Modal - ...mapActions("modal", ["$_openModal", "$_closeModal", "$_openModalCallback", "$_closeModalCallback", "dialog"]), + ...mapActions("modal", ["$_openModal", "$_closeModal", "$_openModalCallback", "$_closeModalCallback", "dialog", "$_openModalStack", "$_closeModalStack"]), //Alert diff --git a/resources/js/Global/store/modules/modal/actions.js b/resources/js/Global/store/modules/modal/actions.js index 46125c2..dd676ab 100644 --- a/resources/js/Global/store/modules/modal/actions.js +++ b/resources/js/Global/store/modules/modal/actions.js @@ -7,11 +7,11 @@ export default { rootState.modal[modalArray[0]] = true; } }, - $_openModalCallback: ({ commit }, data) => { - commit(data.module + '/OPEN_MODAL_' + data.type.toUpperCase(), data, { root: true }); + async $_openModalCallback ({ dispatch }, data) { + dispatch(data.module + '/openModal' + data.type.charAt(0).toUpperCase() + data.type.slice(1), data, { root: true }); }, - $_closeModalCallback: ({ commit }, data) => { - commit(data.module + '/CLOSE_MODAL_' + data.type.toUpperCase(), data, { root: true }); + $_closeModalCallback: ({ dispatch }, data) => { + dispatch(data.module + '/closeModal' + data.type.charAt(0).toUpperCase() + data.type.slice(1) , data, { root: true }); }, $_closeModal: ({ state, rootState }, modal) => { @@ -24,8 +24,32 @@ export default { state.properties = null; }, + $_openModalStack({ state, rootState }, data) { // data: {name, rel, model, form_data, data, modal_pop_data, type} + if (state.modals.findIndex(x => x.name == data.name) == -1) { + state.modals.push(data); + let module = data.name.split("_"); + + rootState[module[0]].relation = data.rel ? data.rel : {}; + rootState[module[0]].currentModel = data.model ? data.model : {}; + rootState[module[0]].page_type = data.page_type ? data.page_type : ''; + } + }, + $_closeModalStack({ state, rootState }) { + if (state.modals.length) { + let last_data = [...state.modals].pop(); + if (state.modals.length > 1) { + state.modals[state.modals.length - 2]['last_modal_data'] = last_data; + } + let module = last_data.name.split("_"); + rootState[module[0]].relation = {}; + rootState[module[0]].currentModel = {}; + rootState[module[0]].page_type = ''; + state.modals.pop(); + } + }, + dialog:({state, commit}, properties) => { - state.modal.dialog = true; + state.dialog = true; commit('SET_DIALOG_TYPE', properties.type); commit('SET_DIALOG_PROPERTIES', properties); }, diff --git a/resources/js/Global/store/modules/modal/getters.js b/resources/js/Global/store/modules/modal/getters.js index 71252f4..30563ff 100644 --- a/resources/js/Global/store/modules/modal/getters.js +++ b/resources/js/Global/store/modules/modal/getters.js @@ -10,4 +10,11 @@ export default { getDialogProperties:(state) => state.dialogProperties, getDialogType:(state) => state.dialogType, + getActiveModal:(state) => state.modals[state.modals.length], + getModalsName:(state) => state.modals.map(x => x.name), + getModals:(state) => state.modals.map(x => x.name), + getModal:(state) => (name) => state.modals[state.modals.findIndex(x => x.name == name)], + isActiveModal:(state) => (name) => state.modals[state.modals.length].name == name, + isInModals:(state) => (name) => state.modals.findIndex(x => x.name == name) != -1 , + }; diff --git a/resources/js/Global/store/modules/modal/state.js b/resources/js/Global/store/modules/modal/state.js index 9c43d59..19c4127 100644 --- a/resources/js/Global/store/modules/modal/state.js +++ b/resources/js/Global/store/modules/modal/state.js @@ -5,6 +5,7 @@ export default { modal:{ dialog: false, }, + modals: [], dialogProperties: {}, dialogType: {}, }; diff --git a/resources/js/Global/utils/common/CreateFilterObject.js b/resources/js/Global/utils/common/CreateFilterObject.js index 5127602..d0cf7a0 100644 --- a/resources/js/Global/utils/common/CreateFilterObject.js +++ b/resources/js/Global/utils/common/CreateFilterObject.js @@ -10,7 +10,13 @@ const createFilterObject = filters => { } } } - return {filters: filterObject}; + var filters= {}; + for (var filter in filterObject) { + if(filterObject.hasOwnProperty(filter)){ + filters[`filters[${filter}]`] = filterObject[filter]; + } + } + return filters; }; window['between'] = function (filter) { var value = null; From 57365daf5f501a43f47dff02871f00f48758ed49 Mon Sep 17 00:00:00 2001 From: saeid_01 Date: Tue, 5 Nov 2019 01:04:02 +0330 Subject: [PATCH 4/4] work in home - new structure modal --- public/mix-manifest.json | 8 ++--- .../js/Global/store/modules/modal/actions.js | 31 ++++++++++--------- .../js/Global/store/modules/modal/getters.js | 18 +++++++---- 3 files changed, 33 insertions(+), 24 deletions(-) diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 0ae88cc..4fb1957 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,6 +1,6 @@ { - "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=ba0468b2a7b3ddd0a861", - "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=1b0d17349d40abecc170", - "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=da887fb2dfe98868a044", - "/js/vue/User/app.js": "/js/vue/User/app.js?id=662467cf65cdd52ce013" + "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=debe5c0904ec24cfe30f", + "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=1ec961066abc3199652a", + "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=65d0eb056bc9f22c762a", + "/js/vue/User/app.js": "/js/vue/User/app.js?id=e26294d6e0c6bab80aad" } diff --git a/resources/js/Global/store/modules/modal/actions.js b/resources/js/Global/store/modules/modal/actions.js index dd676ab..73168b3 100644 --- a/resources/js/Global/store/modules/modal/actions.js +++ b/resources/js/Global/store/modules/modal/actions.js @@ -7,13 +7,6 @@ export default { rootState.modal[modalArray[0]] = true; } }, - async $_openModalCallback ({ dispatch }, data) { - dispatch(data.module + '/openModal' + data.type.charAt(0).toUpperCase() + data.type.slice(1), data, { root: true }); - }, - $_closeModalCallback: ({ dispatch }, data) => { - dispatch(data.module + '/closeModal' + data.type.charAt(0).toUpperCase() + data.type.slice(1) , data, { root: true }); - }, - $_closeModal: ({ state, rootState }, modal) => { let modalArray = modal.split("/"); if (modalArray.length == 2) { @@ -24,14 +17,24 @@ export default { state.properties = null; }, + + $_openModalCallback ({ dispatch }, data) { + dispatch(data.module + '/openModal' + data.type.charAt(0).toUpperCase() + data.type.slice(1), data, { root: true }); + }, + $_closeModalCallback: ({ dispatch }, data) => { + dispatch(data.module + '/closeModal' + data.type.charAt(0).toUpperCase() + data.type.slice(1) , data, { root: true }); + }, + + $_openModalStack({ state, rootState }, data) { // data: {name, rel, model, form_data, data, modal_pop_data, type} + data.name = 'modal_' + data.name; if (state.modals.findIndex(x => x.name == data.name) == -1) { state.modals.push(data); let module = data.name.split("_"); - - rootState[module[0]].relation = data.rel ? data.rel : {}; - rootState[module[0]].currentModel = data.model ? data.model : {}; - rootState[module[0]].page_type = data.page_type ? data.page_type : ''; + + rootState[module[1]].relation = data.rel ? data.rel : {}; + rootState[module[1]].currentModel = data.model ? data.model : {}; + rootState[module[1]].page_type = data.page_type ? data.page_type : 'modal'; } }, $_closeModalStack({ state, rootState }) { @@ -41,9 +44,9 @@ export default { state.modals[state.modals.length - 2]['last_modal_data'] = last_data; } let module = last_data.name.split("_"); - rootState[module[0]].relation = {}; - rootState[module[0]].currentModel = {}; - rootState[module[0]].page_type = ''; + rootState[module[1]].relation = {}; + rootState[module[1]].currentModel = {}; + rootState[module[1]].page_type = ''; state.modals.pop(); } }, diff --git a/resources/js/Global/store/modules/modal/getters.js b/resources/js/Global/store/modules/modal/getters.js index 30563ff..7dbdde5 100644 --- a/resources/js/Global/store/modules/modal/getters.js +++ b/resources/js/Global/store/modules/modal/getters.js @@ -9,12 +9,18 @@ export default { }, getDialogProperties:(state) => state.dialogProperties, getDialogType:(state) => state.dialogType, - - getActiveModal:(state) => state.modals[state.modals.length], - getModalsName:(state) => state.modals.map(x => x.name), - getModals:(state) => state.modals.map(x => x.name), + + isModalStack: (state) => (...names) => { + for (const name of names) { + if (state.modals.findIndex(x => x.name == name) != -1) { + return true; + } + } + return false; + }, getModal:(state) => (name) => state.modals[state.modals.findIndex(x => x.name == name)], + + getModals:(state) => state.modals, + getActiveModal:(state) => state.modals[state.modals.length], isActiveModal:(state) => (name) => state.modals[state.modals.length].name == name, - isInModals:(state) => (name) => state.modals.findIndex(x => x.name == name) != -1 , - };