From 4726b7cd5a9ee99ccbfd3d2b23149153dbd43cc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20V=C3=A0zquez?= Date: Mon, 28 Mar 2022 17:56:18 +0000 Subject: [PATCH 01/70] Copy from other project --- .gitlab-ci.yml | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d9a0623..981e753 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,15 +36,17 @@ build-frontend: stage: build script: - npm run build - - mkdir -p dist/ecloud-dashboard - - cp -a appinfo css l10n lib templates js dist/ecloud-dashboard + - mkdir -p dist/$CI_PROJECT_NAME + - cp -a appinfo css img l10n lib templates js dist/$CI_PROJECT_NAME artifacts: paths: - - dist/ecloud-dashboard + - dist/ -.deploy:ecloud-dashboard: +.deploy:nextcloud-app: image: ubuntu:focal stage: deploy + dependencies: + - build-frontend before_script: - mkdir $HOME/.ssh - chmod 700 ~/.ssh @@ -53,18 +55,19 @@ build-frontend: - echo "$SSH_KNOWN_HOSTS" > $HOME/.ssh/known_hosts - chmod 600 ~/.ssh/id_ed25519 - chmod 644 ~/.ssh/known_hosts ~/.ssh/id_ed25519.pub - - apt-get update && apt-get install -y openssh-client + - apt-get update && apt-get install -y openssh-client rsync script: - echo "Deploying to $CI_ENVIRONMENT_NAME ($DEPLOYMENT_HOST)" - - ssh $SSH_USER@$DEPLOYMENT_HOST "git clone --depth 1 $CI_REPOSITORY_URL --branch $DEPLOYMENT_BRANCH --single-branch /tmp/${CI_JOB_ID}/ecloud-dashboard && sudo docker exec -u www-data $CONTAINER_NAME /var/www/html/occ app:disable ecloud-dashboard && sudo rsync -avzh --chown www-data:www-data --delete --exclude '.git*' /tmp/${CI_JOB_ID}/ecloud-dashboard ${DEPLOYMENT_PATH}/html/custom_apps/ && rm -rf /tmp/${CI_JOB_ID} && sudo docker exec -u www-data $CONTAINER_NAME /var/www/html/occ app:enable ecloud-dashboard" - + - rsync -avzh dist/ $SSH_USER@$DEPLOYMENT_HOST:/tmp/${CI_JOB_ID} + - ssh $SSH_USER@$DEPLOYMENT_HOST "sudo rsync -avzh --chown www-data:www-data --delete /tmp/${CI_JOB_ID}/$CI_PROJECT_NAME ${DEPLOYMENT_PATH}/html/custom_apps/ && rm -rf /tmp/${CI_JOB_ID} && sudo docker exec -u www-data $CONTAINER_NAME /var/www/html/occ app:enable $CI_PROJECT_NAME" deploy:dev01: - extends: .deploy:ecloud-dashboard + extends: .deploy:nextcloud-app only: - master - main - production + - auto-deployments environment: name: dev/01 url: https://dev.eeo.one/ @@ -73,7 +76,7 @@ deploy:dev01: CONTAINER_NAME: dev01_nextcloud deploy:dev02: - extends: .deploy:ecloud-dashboard + extends: .deploy:nextcloud-app when: manual only: - master @@ -87,7 +90,7 @@ deploy:dev02: CONTAINER_NAME: dev02_nextcloud deploy:dev03: - extends: .deploy:ecloud-dashboard + extends: .deploy:nextcloud-app when: manual only: - master @@ -101,7 +104,7 @@ deploy:dev03: CONTAINER_NAME: dev03_nextcloud deploy:staging: - extends: .deploy:ecloud-dashboard + extends: .deploy:nextcloud-app when: manual only: - master -- GitLab From 21c39e8f4ba5e50d841a778e7c08e06f031330af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20V=C3=A0zquez?= Date: Mon, 28 Mar 2022 18:02:00 +0000 Subject: [PATCH 02/70] Bump supported versions --- appinfo/info.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appinfo/info.xml b/appinfo/info.xml index 5bb4d4e..f43bb28 100755 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -5,14 +5,14 @@ Edashboard /e/ Cloud Dashboard - 0.0.1 + 0.0.2 agpl Ronak Patel Edashboard dashboard https://gitlab.e.foundation/e/infra/selfhost/nextcloud-apps/ecloud-dashboard/-/issues - + -- GitLab From 4b32d22872fed494731e5e0db6bf5500abcbcfe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20V=C3=A0zquez?= Date: Mon, 28 Mar 2022 18:07:29 +0000 Subject: [PATCH 03/70] img dir for icons --- img/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/.gitkeep diff --git a/img/.gitkeep b/img/.gitkeep new file mode 100644 index 0000000..e69de29 -- GitLab From ba049f20b6a3639943bcd94ddd16d7fc4c0c520d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20V=C3=A0zquez?= Date: Mon, 28 Mar 2022 18:15:04 +0000 Subject: [PATCH 04/70] Update license and autor --- appinfo/info.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appinfo/info.xml b/appinfo/info.xml index f43bb28..3095c0e 100755 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -6,8 +6,8 @@ /e/ Cloud Dashboard 0.0.2 - agpl - Ronak Patel + ECORP SAS + ECORP SAS Edashboard dashboard https://gitlab.e.foundation/e/infra/selfhost/nextcloud-apps/ecloud-dashboard/-/issues -- GitLab From cb3dcb5457a6db0084c74ef262b873b13d1e1c5c Mon Sep 17 00:00:00 2001 From: Ronak Patel Date: Tue, 29 Mar 2022 17:19:07 +0530 Subject: [PATCH 05/70] app layout and storage progressbar --- appinfo/info.xml | 16 +-- appinfo/routes.php | 7 +- lib/AppInfo/Application.php | 14 +++ lib/Controller/AppsController.php | 75 ++++++++++++++ lib/Controller/PageController.php | 4 +- lib/Util.php | 103 +++++++++++++++++++ src/App.vue | 5 +- src/components/AllApps.vue | 159 +++++++++++------------------- src/components/StorageLayout.vue | 86 +++++++++------- templates/edashboard.php | 5 + 10 files changed, 322 insertions(+), 152 deletions(-) create mode 100755 lib/AppInfo/Application.php create mode 100755 lib/Controller/AppsController.php create mode 100755 lib/Util.php create mode 100755 templates/edashboard.php diff --git a/appinfo/info.xml b/appinfo/info.xml index 3095c0e..20b8208 100755 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -2,22 +2,22 @@ ecloud-dashboard - Edashboard + ECloud dashboard /e/ Cloud Dashboard - 0.0.2 - ECORP SAS - ECORP SAS - Edashboard + 0.0.1 + agpl + Ronak Patel + EcloudDashboard dashboard https://gitlab.e.foundation/e/infra/selfhost/nextcloud-apps/ecloud-dashboard/-/issues - + - Edashboard - edashboard.page.index + EcloudDashboard + ecloud-dashboard.page.index diff --git a/appinfo/routes.php b/appinfo/routes.php index f3816eb..0f420dd 100755 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -9,7 +9,10 @@ */ return [ 'routes' => [ - ['name' => 'page#index', 'url' => '/', 'verb' => 'GET'], - ['name' => 'page#do_echo', 'url' => '/echo', 'verb' => 'POST'], + ['name' => 'apps#index', 'url' => '/apps', 'verb' => 'GET'], + ['name' => 'page#index', 'url' => '/', 'verb' => 'GET'], + ['name' => 'apps#getuserinfo', 'url' => '/apps/getuserinfo', 'verb' => 'GET'], + ['name' => 'apps#getstorage', 'url' => '/apps/getstorage', 'verb' => 'GET'], + ] ]; diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php new file mode 100755 index 0000000..23e7050 --- /dev/null +++ b/lib/AppInfo/Application.php @@ -0,0 +1,14 @@ +util = $util; + } + /** + * @NoAdminRequired + * @return JSONResponse + */ + public function getOrder() + { + $response = new JSONResponse(); + $response->setData(array("order" => $this->util->getOrder())); + return $response; + } + /** + * @NoAdminRequired + * @return JSONResponse + */ + public function index() + { + $response = new JSONResponse(); + $entries = $this->util->getAppEntries(); + $response->setData($entries); + return $response; + } + + /** + * @NoAdminRequired + * @return JSONResponse + */ + + public function getstorage() + { + $response = new JSONResponse(); + $storageInfo = $this->util->getStorageinfo(); + $userDisplayName = \OC_User::getDisplayName(); + $response->setData(array('userDisplayName' => $userDisplayName, 'storageinfo' => $storageInfo['storageInfo'] )); + return $response; + } + + public function getuserinfo() + { + $response = new JSONResponse(); + $userDisplayName = \OC_User::getDisplayName(); + $userdata = array('name' => $userDisplayName); + $response->setData(array('userinfo' => $userdata )); + return $response; + } + /** + * @NoAdminRequired + */ + + public function updateOrder(string $order) + { + $this->util->updateOrder($order); + } +} diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php index b632c51..6f6edbe 100755 --- a/lib/Controller/PageController.php +++ b/lib/Controller/PageController.php @@ -1,5 +1,5 @@ appName = $appName; + $this->userId = $userId; + $this->config = $config; + $this->navigationManager = $navigationManager; + $this->appManager = $appManager; + $this->l10nFac = $l10nFac; + $this->root = $root; + } + + + public function getOrder() + { + $order_raw = $this->config->getUserValue($this->userId, $this->appName, 'order'); + // If order raw empty try to get from 'apporder' app config + $order_raw = !$order_raw ? $this->config->getUserValue($this->userId, 'apporder', 'order') : $order_raw; + // If order raw is still empty, return empty array + if (!$order_raw) { + return self::DEFAULT_ORDER; + } + $order = json_decode($order_raw); + return $order; + } + public function getAppEntries() + { + $entries = array_values($this->navigationManager->getAll()); + $order = $this->getOrder(); + $external = array(); + $entriesByHref = array(); + // slice + foreach ($entries as &$entry) { + $entriesByHref[$entry["href"]] = $entry; + } + /* + Sort apps according to order + Since "entriesByHref" is indexed by "href", simply reverse the order array and prepend in "entriesByHref" + Prepend is done by using each "href" in the reversed order array and doing a union of the "entriesByHref" + array with the current element + */ + if ($order) { + $order = array_reverse($order); + foreach ($order as $href) { + if (!empty($entriesByHref[$href])) { + $entriesByHref = array($href => $entriesByHref[$href]) + $entriesByHref; + } + } + } + $apps =array_values($entriesByHref); + return array("apps" => $apps ); + } + + public function getStorageinfo() + { + // $storageInfo = \OC_Helper::getStorageInfo('/'); + $usedMailQuota = $this->config->getUserValue($this->userId, $this->appName, 'usedMailQuota', 200000000); + // $usedMailQuota = $this->config->getUserValue($this->userSession->getUser()->getUID(), 'ecloud-core', 'usedMailQuota', 200000000); + \OC_Util::setupFS(); + $dirInfo = \OC\Files\Filesystem::getFileInfo('/', false); + $storageInfo = \OC_Helper::getStorageInfo('/', $dirInfo); + + // $storageInfo = \OC_Helper::getStorageInfo('/'); + $totalSpace = \OC_Helper::humanFileSize($storageInfo['total']); + $freeSpace = \OC_Helper::humanFileSize($storageInfo['free']); + $usedSpace = \OC_Helper::humanFileSize($storageInfo['used']); + $usedMailQuota = \OC_Helper::humanFileSize($usedMailQuota); + $storageInfo['totalSpace'] = $totalSpace; + $storageInfo['freeSpace'] = $freeSpace; + $storageInfo['usedSpace'] = $usedSpace; + $storageInfo['usedMailQuota'] = $usedMailQuota; + return array('storageInfo' => $storageInfo); + } +} diff --git a/src/App.vue b/src/App.vue index 7fdb14b..60d7571 100755 --- a/src/App.vue +++ b/src/App.vue @@ -1,5 +1,4 @@ @@ -18,9 +17,7 @@ export default { + \ No newline at end of file -- GitLab From e242ab58674a15aeef36756b939fd4bb23e67490 Mon Sep 17 00:00:00 2001 From: Ronak Patel Date: Tue, 29 Mar 2022 17:26:12 +0530 Subject: [PATCH 08/70] removed unnecessary spaces in AppApps.vue file --- src/components/AllApps.vue | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/components/AllApps.vue b/src/components/AllApps.vue index 84cb82a..e6b89f6 100755 --- a/src/components/AllApps.vue +++ b/src/components/AllApps.vue @@ -47,7 +47,7 @@ export default { axios .get(generateUrl('/apps/ecloud-dashboard/apps')) .then(response => { - this.entries = response.data.apps + this.entries = response.data.apps; this.entries = this.entries.map(entry => { entry.active = window.location.pathname.includes( entry.href @@ -56,8 +56,6 @@ export default { }); this.external = this.entries.slice(6); this.entries = this.entries.slice(0,6); - console.log('this.entries'); - console.log(this.entries); }) }, getUserinfo() { -- GitLab From 4593d35bac2571f01ff8dca76ab620033fb21f32 Mon Sep 17 00:00:00 2001 From: Ronak Patel Date: Tue, 29 Mar 2022 17:37:03 +0530 Subject: [PATCH 09/70] resolved bug for mix-space and tabs --- package-lock.json | 153 +++++++++++++++++-------------------- src/components/AllApps.vue | 12 +-- 2 files changed, 72 insertions(+), 93 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1833050..c6f3ae8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2808,9 +2808,9 @@ "dev": true }, "node_modules/@types/json-schema": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.10.tgz", - "integrity": "sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "node_modules/@types/mime": { @@ -4808,9 +4808,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001320", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz", - "integrity": "sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==", + "version": "1.0.30001322", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001322.tgz", + "integrity": "sha512-neRmrmIrCGuMnxGSoh+x7zYtQFFgnSY2jaomjU56sCkTA6JINqQrxutF459JpWcWRajvoyn95sOXq4Pqrnyjew==", "dev": true, "funding": [ { @@ -5431,15 +5431,12 @@ } }, "node_modules/css-declaration-sorter": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", - "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", + "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", "dev": true, - "dependencies": { - "timsort": "^0.3.0" - }, "engines": { - "node": ">= 10" + "node": "^10 || ^12 || >=14" }, "peerDependencies": { "postcss": "^8.0.9" @@ -5587,14 +5584,14 @@ } }, "node_modules/css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, "dependencies": { "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", "domutils": "^2.8.0", "nth-check": "^2.0.1" }, @@ -5625,9 +5622,9 @@ } }, "node_modules/css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.0.1.tgz", + "integrity": "sha512-z93ZGFLNc6yaoXAmVhqoSIb+BduplteCt1fepvwhBUQK6MNE4g6fgjpuZKJKp0esUe+vXWlIkwZZjNWoOKw0ZA==", "dev": true, "engines": { "node": ">= 6" @@ -6121,9 +6118,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.93", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.93.tgz", - "integrity": "sha512-ywq9Pc5Gwwpv7NG767CtoU8xF3aAUQJjH9//Wy3MBCg4w5JSLbJUq2L8IsCdzPMjvSgxuue9WcVaTOyyxCL0aQ==", + "version": "1.4.98", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.98.tgz", + "integrity": "sha512-1IdsuSAnIGVxoYT1LkcUFb9MfjRxdHhCU9qiaDzhl1XvYgK9c8E2O9aJOPgGMQ68CSI8NxmLwrYhjvGauT8yuw==", "dev": true }, "node_modules/emoji-regex": { @@ -7500,9 +7497,9 @@ } }, "node_modules/html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", "dev": true }, "node_modules/html-minifier-terser": { @@ -8537,9 +8534,9 @@ } }, "node_modules/log-update/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, "engines": { "node": ">=4" @@ -9029,9 +9026,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", + "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -10874,12 +10871,12 @@ "dev": true }, "node_modules/selfsigned": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz", - "integrity": "sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", "dev": true, "dependencies": { - "node-forge": "^1.2.0" + "node-forge": "^1" }, "engines": { "node": ">=10" @@ -11806,12 +11803,6 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, "node_modules/tinycolor2": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", @@ -15329,9 +15320,9 @@ "dev": true }, "@types/json-schema": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.10.tgz", - "integrity": "sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "@types/mime": { @@ -16942,9 +16933,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001320", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz", - "integrity": "sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==", + "version": "1.0.30001322", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001322.tgz", + "integrity": "sha512-neRmrmIrCGuMnxGSoh+x7zYtQFFgnSY2jaomjU56sCkTA6JINqQrxutF459JpWcWRajvoyn95sOXq4Pqrnyjew==", "dev": true }, "case-sensitive-paths-webpack-plugin": { @@ -17404,13 +17395,11 @@ "dev": true }, "css-declaration-sorter": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz", - "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", + "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", "dev": true, - "requires": { - "timsort": "^0.3.0" - } + "requires": {} }, "css-loader": { "version": "6.7.1", @@ -17501,14 +17490,14 @@ } }, "css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, "requires": { "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", "domutils": "^2.8.0", "nth-check": "^2.0.1" } @@ -17532,9 +17521,9 @@ } }, "css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.0.1.tgz", + "integrity": "sha512-z93ZGFLNc6yaoXAmVhqoSIb+BduplteCt1fepvwhBUQK6MNE4g6fgjpuZKJKp0esUe+vXWlIkwZZjNWoOKw0ZA==", "dev": true }, "cssesc": { @@ -17910,9 +17899,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.93", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.93.tgz", - "integrity": "sha512-ywq9Pc5Gwwpv7NG767CtoU8xF3aAUQJjH9//Wy3MBCg4w5JSLbJUq2L8IsCdzPMjvSgxuue9WcVaTOyyxCL0aQ==", + "version": "1.4.98", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.98.tgz", + "integrity": "sha512-1IdsuSAnIGVxoYT1LkcUFb9MfjRxdHhCU9qiaDzhl1XvYgK9c8E2O9aJOPgGMQ68CSI8NxmLwrYhjvGauT8yuw==", "dev": true }, "emoji-regex": { @@ -18950,9 +18939,9 @@ } }, "html-entities": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", - "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", "dev": true }, "html-minifier-terser": { @@ -19725,9 +19714,9 @@ }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true }, "cli-cursor": { @@ -20111,9 +20100,9 @@ } }, "nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==" + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", + "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==" }, "natural-compare": { "version": "1.4.0", @@ -21413,12 +21402,12 @@ "dev": true }, "selfsigned": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz", - "integrity": "sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", "dev": true, "requires": { - "node-forge": "^1.2.0" + "node-forge": "^1" } }, "semver": { @@ -22135,12 +22124,6 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, "tinycolor2": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", diff --git a/src/components/AllApps.vue b/src/components/AllApps.vue index e6b89f6..048fc35 100755 --- a/src/components/AllApps.vue +++ b/src/components/AllApps.vue @@ -26,10 +26,6 @@ import { generateUrl } from '@nextcloud/router'; export default { name: 'AllApps', - components: { - }, - props: { - }, data () { return { isHidden: false, @@ -53,10 +49,10 @@ export default { entry.href ) return entry; - }); - this.external = this.entries.slice(6); - this.entries = this.entries.slice(0,6); - }) + }); + this.external = this.entries.slice(6); + this.entries = this.entries.slice(0,6); + }); }, getUserinfo() { axios -- GitLab From 283382ca3622c76d7076a4c37e51aa44d081ffcf Mon Sep 17 00:00:00 2001 From: Ronak Patel Date: Tue, 29 Mar 2022 23:39:54 +0530 Subject: [PATCH 10/70] progress bar change --- src/components/StorageLayout.vue | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/src/components/StorageLayout.vue b/src/components/StorageLayout.vue index 844942a..2ee065a 100755 --- a/src/components/StorageLayout.vue +++ b/src/components/StorageLayout.vue @@ -4,7 +4,9 @@
Storage
-
+
@@ -57,11 +59,6 @@ export default { .get(generateUrl('/apps/ecloud-dashboard/apps/getstorage')) .then(response => { this.storageinfo = response.data.storageinfo - - this.quotatoshowprogressbar = [ - {'id' : '1', 'style': 'width:50%; background-color: rgb(204, 228, 255) !important'}, - {'id' : '2', 'style': 'width:5%; background-color: rgb(255 204 246) !important'} - ]; }) } }, @@ -70,13 +67,6 @@ export default { let percent = (this.storageinfo.used * 100 ) / this.storageinfo.total return percent.toFixed(2) } - // ,quotaonprogressbar() { - // let quotatoshowprogressbar = [ - // {'id' : '1', 'style': 'width:40%; background-color: rgb(204, 228, 255) !important'}, - // {'id' : '2', 'style': 'width:20%; background-color: rgb(255 204 246) !important'} - // ]; - // return quotatoshowprogressbar - // } } } -- GitLab From ec497b3476b9e3767b4b5e40ad11eae6b1d50c20 Mon Sep 17 00:00:00 2001 From: Ronak Patel Date: Tue, 29 Mar 2022 23:50:11 +0530 Subject: [PATCH 11/70] change app version --- appinfo/info.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appinfo/info.xml b/appinfo/info.xml index 20b8208..e01289e 100755 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -5,7 +5,7 @@ ECloud dashboard /e/ Cloud Dashboard - 0.0.1 + 0.0.2 agpl Ronak Patel EcloudDashboard -- GitLab From 0ff9b1d5979df797105f5de2fb95d3e9fb7e9076 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20V=C3=A0zquez?= Date: Wed, 30 Mar 2022 11:05:06 +0000 Subject: [PATCH 12/70] Apply 1 suggestion(s) to 1 file(s) --- appinfo/info.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appinfo/info.xml b/appinfo/info.xml index e01289e..47778bc 100755 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -12,7 +12,7 @@ dashboard https://gitlab.e.foundation/e/infra/selfhost/nextcloud-apps/ecloud-dashboard/-/issues - + -- GitLab From 17a7c3cdc2c6ac41a02b942d0edf602eaea94db6 Mon Sep 17 00:00:00 2001 From: Ronak Patel Date: Wed, 30 Mar 2022 17:44:19 +0530 Subject: [PATCH 13/70] changed class name --- src/components/AllApps.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/AllApps.vue b/src/components/AllApps.vue index 048fc35..0c1f0aa 100755 --- a/src/components/AllApps.vue +++ b/src/components/AllApps.vue @@ -1,5 +1,5 @@ + + - - -- GitLab From 287d2e74b04393cf27521cd09062cf381947df40 Mon Sep 17 00:00:00 2001 From: Akhil Date: Tue, 19 Apr 2022 12:33:10 +0530 Subject: [PATCH 53/70] Remove vue 3 eslint config --- package.json | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 98b62c2..4d91f88 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ecloud-dashboard", - "version": "0.1.0", - "private": true, + "version": "0.1.0", + "private": true, "description": "Place this app in **nextcloud/custom_apps/**", "main": "js/main.js", "scripts": { @@ -71,19 +71,5 @@ "webpack": "^4.46.0", "webpack-cli": "^3.3.12", "webpack-merge": "^5.1.4" - }, - "eslintConfig": { - "root": true, - "env": { - "node": true - }, - "extends": [ - "plugin:vue/vue3-essential", - "eslint:recommended" - ], - "parserOptions": { - "parser": "@babel/eslint-parser" - }, - "rules": {} - } -} + } +} \ No newline at end of file -- GitLab From f2dcdf241cc388fcf010255a0d0f909ec41ed61c Mon Sep 17 00:00:00 2001 From: Akhil Date: Tue, 19 Apr 2022 12:39:02 +0530 Subject: [PATCH 54/70] Fix lint --- .gitlab-ci.yml | 3 +- src/App.vue | 43 ++-- src/components/AllApps.vue | 161 +++++++-------- src/components/StorageLayout.vue | 342 +++++++++++++++---------------- 4 files changed, 257 insertions(+), 292 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ae6fa90..0fc9818 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -30,12 +30,11 @@ install-node-deps: lint: stage: test script: - - npm run lint -- --fix + - npm run lint build-frontend: stage: build script: - - npm run lint -- --fix - npm run build - mkdir -p dist/$CI_PROJECT_NAME - cp -a appinfo css l10n lib templates js dist/$CI_PROJECT_NAME diff --git a/src/App.vue b/src/App.vue index 08f4933..6b2dc14 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,40 +1,31 @@ - - .app-ecloud-dashboard { background-color: white; } #edashboard-app { width: 920px; margin: 10% auto; font-family: 'Roboto'; } @media only screen and (max-width: 920px) { #edashboard-app { width: 70%; } } /* Medium devices (landscape tablets, 920px and up) */ @media only screen and (min-width: 920px) { #edashboard-app { width: 920px; } } - - - -- GitLab From 048122814a4f3d061ec3b4cb8527915b10054d4b Mon Sep 17 00:00:00 2001 From: Ronak Patel Date: Fri, 22 Apr 2022 17:18:31 +0530 Subject: [PATCH 57/70] gitlab-ci changes --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0fc9818..7a20757 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -30,7 +30,7 @@ install-node-deps: lint: stage: test script: - - npm run lint + - npm run lint --fix build-frontend: stage: build -- GitLab From fc263c024ae345b84fe6537c81cb0cfb912e2cff Mon Sep 17 00:00:00 2001 From: Ronak Patel Date: Fri, 22 Apr 2022 17:19:53 +0530 Subject: [PATCH 58/70] gitlab-ci changes --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a20757..a762194 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -30,7 +30,7 @@ install-node-deps: lint: stage: test script: - - npm run lint --fix + - npm run lint -- --fix build-frontend: stage: build -- GitLab From 5a7eba9145fc7f4d3fd9b6fbd3bfaff1b5cc3a2e Mon Sep 17 00:00:00 2001 From: Ronak Patel Date: Fri, 22 Apr 2022 17:22:12 +0530 Subject: [PATCH 59/70] gitlab-ci changes --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a762194..ae6fa90 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,6 +35,7 @@ lint: build-frontend: stage: build script: + - npm run lint -- --fix - npm run build - mkdir -p dist/$CI_PROJECT_NAME - cp -a appinfo css l10n lib templates js dist/$CI_PROJECT_NAME -- GitLab From 3c6826e3ebeb6403742d414e681784587ca00e1d Mon Sep 17 00:00:00 2001 From: Ronak Patel Date: Fri, 22 Apr 2022 17:50:30 +0530 Subject: [PATCH 60/70] code formatted --- .gitlab-ci.yml | 3 +- src/App.vue | 28 +-- src/components/AllApps.vue | 60 ++++++- src/components/StorageLayout.vue | 282 +++++++++++++++---------------- 4 files changed, 215 insertions(+), 158 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ae6fa90..0fc9818 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -30,12 +30,11 @@ install-node-deps: lint: stage: test script: - - npm run lint -- --fix + - npm run lint build-frontend: stage: build script: - - npm run lint -- --fix - npm run build - mkdir -p dist/$CI_PROJECT_NAME - cp -a appinfo css l10n lib templates js dist/$CI_PROJECT_NAME diff --git a/src/App.vue b/src/App.vue index 6b2dc14..2d74f35 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,31 +1,31 @@ diff --git a/src/components/StorageLayout.vue b/src/components/StorageLayout.vue index 150cfeb..be61bf2 100755 --- a/src/components/StorageLayout.vue +++ b/src/components/StorageLayout.vue @@ -1,197 +1,197 @@