From 7be3acee8172f6265c5d614669fb3ac513dfea65 Mon Sep 17 00:00:00 2001 From: AVINASH GUSAIN Date: Wed, 6 Apr 2022 12:50:05 +0000 Subject: [PATCH 0001/1776] "Open link" button when location contains a URL --- .gitlab-ci.yml | 121 ++++++++++++++++ css/app-sidebar.scss | 62 +++++--- css/icons.scss | 1 + img/openlink.svg | 1 + l10n/de.js | 3 +- l10n/de.json | 3 +- l10n/de_DE.js | 3 +- l10n/de_DE.json | 3 +- l10n/es.js | 3 +- l10n/es.json | 3 +- l10n/fr.js | 3 +- l10n/fr.json | 3 +- l10n/it.js | 3 +- l10n/it.json | 3 +- .../Properties/PropertyTextLocation.vue | 133 ++++++++++++++++++ src/models/rfcProps.js | 1 + src/views/EditSidebar.vue | 5 +- src/views/EditSimple.vue | 5 +- 18 files changed, 330 insertions(+), 29 deletions(-) create mode 100644 .gitlab-ci.yml create mode 100644 img/openlink.svg create mode 100644 src/components/Editor/Properties/PropertyTextLocation.vue diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000..451dd648d --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,121 @@ +stages: + - prepare + - test + - build + - deploy + +default: + image: node:15.14.0-stretch + before_script: + - npm set cache .npm + - npm install --prefer-offline --no-audit + cache: + key: ${CI_COMMIT_REF_SLUG} + paths: + - .npm/ + - node_modules/ + +install-node-deps: + stage: prepare + before_script: + - node --version + - npm --version + script: + - npm set cache .npm + - npm ci + only: + changes: + - package*.json + +lint: + stage: test + script: + - npm run lint + +build-frontend: + stage: build + script: + - npm run build + - mkdir -p dist/$CI_PROJECT_NAME + - cp -a appinfo css img l10n lib templates js dist/$CI_PROJECT_NAME + artifacts: + paths: + - dist/ + +.deploy:nextcloud-app: + image: ubuntu:focal + stage: deploy + dependencies: + - build-frontend + before_script: + - mkdir $HOME/.ssh + - chmod 700 ~/.ssh + - echo "$SSH_PRIVATE_KEY_ED" > $HOME/.ssh/id_ed25519 + - echo "$SSH_PUBKEY_ED" > $HOME/.ssh/id_ed25519.pub + - 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 rsync + script: + - echo "Deploying $CI_PROJECT_NAME of $CI_PROJECT_PATH_SLUG to $CI_ENVIRONMENT_NAME ($DEPLOYMENT_HOST)" + - 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:nextcloud-app + only: + - master + - main + - production + - calender-join-btn + environment: + name: dev/01 + url: https://dev.eeo.one/ + variables: + DEPLOYMENT_BRANCH: $CI_COMMIT_BRANCH + CONTAINER_NAME: dev01_nextcloud + +deploy:dev02: + extends: .deploy:nextcloud-app + when: manual + only: + - master + - main + - production + - calender-join-btn + environment: + name: dev/02 + url: https://ecloud02.dev.eeo.one + variables: + DEPLOYMENT_BRANCH: $CI_COMMIT_BRANCH + CONTAINER_NAME: dev02_nextcloud + +deploy:dev03: + extends: .deploy:nextcloud-app + when: manual + only: + - master + - main + - production + - calender-join-btn + environment: + name: dev/03 + url: https://ecloud03.dev.eeo.one + variables: + DEPLOYMENT_BRANCH: $CI_COMMIT_BRANCH + CONTAINER_NAME: dev03_nextcloud + +deploy:staging: + extends: .deploy:nextcloud-app + when: manual + only: + - master + - main + - production + environment: + name: staging/01 + url: https://eeo.one + variables: + DEPLOYMENT_BRANCH: $CI_COMMIT_BRANCH + CONTAINER_NAME: nextcloud diff --git a/css/app-sidebar.scss b/css/app-sidebar.scss index 82254a4ef..42bddb65b 100644 --- a/css/app-sidebar.scss +++ b/css/app-sidebar.scss @@ -27,6 +27,28 @@ height: unset !important; } + .property-text-location { + align-items: stretch !important; + position:relative; + textarea { + border-right: 0px; + padding-right:27px; + } + .icon-externallink { + background-image: var(--icon-calendar-openlink-0075E0); + opacity: 1; + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 100%; + line-height: 34px; + text-align: center; + } + } + .app-sidebar-header__action { margin-top: 0 !important; max-height: none !important; @@ -56,7 +78,7 @@ height: 50px; width: 50px; margin: 0 auto; - opacity: .5; + opacity: 0.5; } &__caption { @@ -135,7 +157,7 @@ .repeat-option-set { .repeat-option-set-section { &:not(:first-of-type) { - margin-top: 20px + margin-top: 20px; } &--on-the-select { @@ -188,7 +210,7 @@ align-items: center; .multiselect, - input[type=number] { + input[type="number"] { min-width: 100px; width: 25%; } @@ -209,7 +231,7 @@ &__until { min-width: 75px; - width: 50% + width: 50%; } &__count { @@ -263,10 +285,10 @@ margin-left: 8px; height: 16px; width: 16px; - opacity: .3; + opacity: 0.3; &--highlighted { - opacity: .7; + opacity: 0.7; } &:focus, @@ -298,14 +320,14 @@ .datetime-picker-inline-icon { margin-top: 17px; - opacity: .3; + opacity: 0.3; border: none; background-color: transparent; border-radius: 0; padding: 6px !important; &--highlighted { - opacity: .7; + opacity: 0.7; } &:focus, @@ -363,7 +385,7 @@ min-width: 0; padding-right: 8px; - input[type=number] { + input[type="number"] { width: 3em; } @@ -475,7 +497,7 @@ } div:nth-child(1) { - color: var(--color-main-text) + color: var(--color-main-text); } div:nth-child(2) { @@ -550,8 +572,8 @@ background-color: grey; } } - .property-text, + .property-text-location, .property-select, .property-color, .property-select-multiple, @@ -578,7 +600,7 @@ &__info { display: flex; justify-content: center; - opacity: .5; + opacity: 0.5; } &__info:hover { @@ -623,13 +645,12 @@ text-decoration: underline; &::after { - content: ' ↗'; + content: " ↗"; } } } &--readonly-calendar-picker { - div.calendar-picker-option { margin: 3px 3px 3px 0; padding: 8px 7px; @@ -639,7 +660,6 @@ } .property-color { - &__input { display: flex; } @@ -730,6 +750,14 @@ width: 450px; padding: 5px 8px; + .property-text-location { + align-items: stretch !important; + position: relative; + textarea { + border-right: 0px; + } + } + .empty-content { margin-top: 0 !important; padding: 50px 0; @@ -770,7 +798,7 @@ top: 0 !important; right: 0 !important; z-index: 100 !important; - opacity: .7 !important; + opacity: 0.7 !important; border-radius: 22px !important; .action-item.action-item--single { @@ -796,7 +824,7 @@ } } -.event-popover[x-placement^='bottom'] { +.event-popover[x-placement^="bottom"] { .popover__arrow { border-bottom-color: var(--color-background-dark); } diff --git a/css/icons.scss b/css/icons.scss index 0cbfefe80..dfc0e47e4 100644 --- a/css/icons.scss +++ b/css/icons.scss @@ -45,3 +45,4 @@ @include icon-black-white('view-week', 'calendar', 1); @include icon-color('reminder', 'calendar', '#fffffe', 1); @include icon-color('reminder', 'calendar', '#000001', 1); +@include icon-color('openlink', 'calendar', '#0075E0', 1); \ No newline at end of file diff --git a/img/openlink.svg b/img/openlink.svg new file mode 100644 index 000000000..c48ee5df5 --- /dev/null +++ b/img/openlink.svg @@ -0,0 +1 @@ + diff --git a/l10n/de.js b/l10n/de.js index 3135c9648..5ccb90b8e 100644 --- a/l10n/de.js +++ b/l10n/de.js @@ -572,6 +572,7 @@ OC.L10N.register( "Dinner" : "Abendessen", "Lunch" : "Mittagessen", "Appointment not found" : "Termin nicht gefunden", - "User not found" : "Benutzer nicht gefunden" + "User not found" : "Benutzer nicht gefunden", + "Open Link" : "Link öffnen" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/de.json b/l10n/de.json index 14512ba90..08c2f21f5 100644 --- a/l10n/de.json +++ b/l10n/de.json @@ -570,6 +570,7 @@ "Dinner" : "Abendessen", "Lunch" : "Mittagessen", "Appointment not found" : "Termin nicht gefunden", - "User not found" : "Benutzer nicht gefunden" + "User not found" : "Benutzer nicht gefunden", + "Open Link" : "Link öffnen" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/de_DE.js b/l10n/de_DE.js index f1c29683d..2f677a239 100644 --- a/l10n/de_DE.js +++ b/l10n/de_DE.js @@ -583,6 +583,7 @@ OC.L10N.register( "Dinner" : "Abendessen", "Lunch" : "Mittagessen", "Appointment not found" : "Termin nicht gefunden", - "User not found" : "Benutzer nicht gefunden" + "User not found" : "Benutzer nicht gefunden", + "Open Link" : "Link öffnen" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/de_DE.json b/l10n/de_DE.json index 358f288d0..4a1c16d67 100644 --- a/l10n/de_DE.json +++ b/l10n/de_DE.json @@ -581,6 +581,7 @@ "Dinner" : "Abendessen", "Lunch" : "Mittagessen", "Appointment not found" : "Termin nicht gefunden", - "User not found" : "Benutzer nicht gefunden" + "User not found" : "Benutzer nicht gefunden", + "Open Link" : "Link öffnen" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/es.js b/l10n/es.js index 1aac56f0d..ab5a5b601 100644 --- a/l10n/es.js +++ b/l10n/es.js @@ -566,6 +566,7 @@ OC.L10N.register( "Dinner" : "Cena", "Lunch" : "Almuerzo", "Appointment not found" : "Cita no encontrada", - "User not found" : "Usuario no encontrado" + "User not found" : "Usuario no encontrado", + "Open Link" : "Abrir el enlace" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/es.json b/l10n/es.json index 3a348816b..9c11a3428 100644 --- a/l10n/es.json +++ b/l10n/es.json @@ -564,6 +564,7 @@ "Dinner" : "Cena", "Lunch" : "Almuerzo", "Appointment not found" : "Cita no encontrada", - "User not found" : "Usuario no encontrado" + "User not found" : "Usuario no encontrado", + "Open Link" : "Abrir el enlace" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/fr.js b/l10n/fr.js index d6c7ea97f..a56dc0251 100644 --- a/l10n/fr.js +++ b/l10n/fr.js @@ -570,6 +570,7 @@ OC.L10N.register( "Dinner" : "Diner", "Lunch" : "Repas", "Appointment not found" : "Rendez-vous non trouvé", - "User not found" : "Utilisateur non trouvé" + "User not found" : "Utilisateur non trouvé", + "Open Link" : "Ouvrir le lien" }, "nplurals=2; plural=(n > 1);"); diff --git a/l10n/fr.json b/l10n/fr.json index 7482ad22f..fa7d74368 100644 --- a/l10n/fr.json +++ b/l10n/fr.json @@ -568,6 +568,7 @@ "Dinner" : "Diner", "Lunch" : "Repas", "Appointment not found" : "Rendez-vous non trouvé", - "User not found" : "Utilisateur non trouvé" + "User not found" : "Utilisateur non trouvé", + "Open Link" : "Ouvrir le lien" },"pluralForm" :"nplurals=2; plural=(n > 1);" } \ No newline at end of file diff --git a/l10n/it.js b/l10n/it.js index b1507f52b..afb913c40 100644 --- a/l10n/it.js +++ b/l10n/it.js @@ -571,6 +571,7 @@ OC.L10N.register( "Dinner" : "Cena", "Lunch" : "Pranzo", "Appointment not found" : "Appuntamento non trovato", - "User not found" : "Utente non trovato" + "User not found" : "Utente non trovato", + "Open Link" : "Apri il link" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/it.json b/l10n/it.json index 0044dc2f6..f38302f0f 100644 --- a/l10n/it.json +++ b/l10n/it.json @@ -569,6 +569,7 @@ "Dinner" : "Cena", "Lunch" : "Pranzo", "Appointment not found" : "Appuntamento non trovato", - "User not found" : "Utente non trovato" + "User not found" : "Utente non trovato", + "Open Link" : "Apri il link" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/src/components/Editor/Properties/PropertyTextLocation.vue b/src/components/Editor/Properties/PropertyTextLocation.vue new file mode 100644 index 000000000..4f89394ae --- /dev/null +++ b/src/components/Editor/Properties/PropertyTextLocation.vue @@ -0,0 +1,133 @@ +