Compare commits
85 Commits
chore/noid
...
feat/6118-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
09748aebb9 | ||
|
|
db00879b6a | ||
|
|
7b1ca0b233 | ||
|
|
c379955805 | ||
|
|
af3a0ef029 | ||
|
|
e003106d1d | ||
|
|
10842caffd | ||
|
|
efa935f117 | ||
|
|
5498e04a12 | ||
|
|
634e6fe4f7 | ||
|
|
119b942eef | ||
|
|
ae69c891f3 | ||
|
|
0a97ba3e9a | ||
|
|
4c0b1f5391 | ||
|
|
eabb9d4464 | ||
|
|
4a1c9dc6a8 | ||
|
|
5f36c33232 | ||
|
|
3dbb73807f | ||
|
|
82aa1d7d10 | ||
|
|
2e200cb6a7 | ||
|
|
2138a0b810 | ||
|
|
307b3eb50e | ||
|
|
76e49ebbba | ||
|
|
011e046c28 | ||
|
|
2630b6ccac | ||
|
|
2e552f474a | ||
|
|
a364ca8733 | ||
|
|
8da918a6a8 | ||
|
|
5aca5b4499 | ||
|
|
e8cde5b690 | ||
|
|
4beb7fceaa | ||
|
|
0c07a4fd76 | ||
|
|
4fa1d18467 | ||
|
|
a660e5b859 | ||
|
|
b76387b862 | ||
|
|
2dacd99fd6 | ||
|
|
68b9e0fb40 | ||
|
|
f21282c5d6 | ||
|
|
a145cccf34 | ||
|
|
9a87f287e3 | ||
|
|
3dd70f2f8b | ||
|
|
4ec4f86963 | ||
|
|
973d13023b | ||
|
|
1bf3442e82 | ||
|
|
5bb0f87248 | ||
|
|
cca82f152d | ||
|
|
bc809b2d3f | ||
|
|
3422c851cf | ||
|
|
c621d158b2 | ||
|
|
2677957c74 | ||
|
|
1ef7447248 | ||
|
|
6d2a01cb21 | ||
|
|
7fbf03b548 | ||
|
|
c7cf43a75c | ||
|
|
9c290daa06 | ||
|
|
97ecbf5e50 | ||
|
|
502cadf091 | ||
|
|
5439304c49 | ||
|
|
210b4a2033 | ||
|
|
876b769f34 | ||
|
|
0d876b4bc9 | ||
|
|
21248b4d1e | ||
|
|
c7e9ac7bce | ||
|
|
9bc601c7a9 | ||
|
|
76594bf95c | ||
|
|
a6914124ca | ||
|
|
a072cc0502 | ||
|
|
f5eb7dc213 | ||
|
|
31e8a4092f | ||
|
|
6baa938fcd | ||
|
|
b9e53951be | ||
|
|
b81b92b1bc | ||
|
|
a1f850573c | ||
|
|
aa4bc9de24 | ||
|
|
78fc485239 | ||
|
|
d81c2ad0bc | ||
|
|
a7f479092d | ||
|
|
18346382c9 | ||
|
|
bc827c6f00 | ||
|
|
8af8e80b17 | ||
|
|
9c82b34bdf | ||
|
|
463475fb88 | ||
|
|
7d295bee80 | ||
|
|
f2699d61c7 | ||
|
|
ed290f048d |
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"image": "ghcr.io/juliushaertl/nextcloud-dev-php80:latest",
|
"image": "ghcr.io/juliushaertl/nextcloud-dev-php81:latest",
|
||||||
"forwardPorts": [80],
|
"forwardPorts": [80],
|
||||||
"containerEnv": {
|
"containerEnv": {
|
||||||
"NEXTCLOUD_AUTOINSTALL_APPS": "deck",
|
"NEXTCLOUD_AUTOINSTALL_APPS": "deck",
|
||||||
|
|||||||
4
.github/workflows/appbuild.yml
vendored
4
.github/workflows/appbuild.yml
vendored
@@ -18,13 +18,13 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4.1.7
|
- uses: actions/checkout@v4.1.7
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
uses: actions/setup-node@v4.0.2
|
uses: actions/setup-node@v4.0.3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
- name: Set up npm7
|
- name: Set up npm7
|
||||||
run: npm i -g npm@7
|
run: npm i -g npm@7
|
||||||
- name: Setup PHP
|
- name: Setup PHP
|
||||||
uses: shivammathur/setup-php@2.31.0
|
uses: shivammathur/setup-php@2.31.1
|
||||||
with:
|
with:
|
||||||
php-version: '7.4'
|
php-version: '7.4'
|
||||||
tools: composer
|
tools: composer
|
||||||
|
|||||||
280
.github/workflows/appstore-build-publish.yml
vendored
280
.github/workflows/appstore-build-publish.yml
vendored
@@ -9,167 +9,167 @@
|
|||||||
name: Build and publish app release
|
name: Build and publish app release
|
||||||
|
|
||||||
on:
|
on:
|
||||||
release:
|
release:
|
||||||
types: [published]
|
types: [published]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build_and_publish:
|
build_and_publish:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
# Only allowed to be run on nextcloud-releases repositories
|
# Only allowed to be run on nextcloud-releases repositories
|
||||||
if: ${{ github.repository_owner == 'nextcloud-releases' }}
|
if: ${{ github.repository_owner == 'nextcloud-releases' }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check actor permission
|
- name: Check actor permission
|
||||||
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v3.0
|
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v3.0
|
||||||
with:
|
with:
|
||||||
require: write
|
require: write
|
||||||
|
|
||||||
- name: Set app env
|
- name: Set app env
|
||||||
run: |
|
run: |
|
||||||
# Split and keep last
|
# Split and keep last
|
||||||
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
|
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
|
||||||
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
with:
|
with:
|
||||||
path: ${{ env.APP_NAME }}
|
path: ${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Get appinfo data
|
- name: Get appinfo data
|
||||||
id: appinfo
|
id: appinfo
|
||||||
uses: skjnldsv/xpath-action@7e6a7c379d0e9abc8acaef43df403ab4fc4f770c # master
|
uses: skjnldsv/xpath-action@7e6a7c379d0e9abc8acaef43df403ab4fc4f770c # master
|
||||||
with:
|
with:
|
||||||
filename: ${{ env.APP_NAME }}/appinfo/info.xml
|
filename: ${{ env.APP_NAME }}/appinfo/info.xml
|
||||||
expression: "//info//dependencies//nextcloud/@min-version"
|
expression: "//info//dependencies//nextcloud/@min-version"
|
||||||
|
|
||||||
- name: Read package.json node and npm engines version
|
- name: Read package.json node and npm engines version
|
||||||
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
|
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
|
||||||
id: versions
|
id: versions
|
||||||
# Continue if no package.json
|
# Continue if no package.json
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
with:
|
with:
|
||||||
path: ${{ env.APP_NAME }}
|
path: ${{ env.APP_NAME }}
|
||||||
fallbackNode: '^20'
|
fallbackNode: '^20'
|
||||||
fallbackNpm: '^10'
|
fallbackNpm: '^10'
|
||||||
|
|
||||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||||
# Skip if no package.json
|
# Skip if no package.json
|
||||||
if: ${{ steps.versions.outputs.nodeVersion }}
|
if: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
|
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
|
||||||
# Skip if no package.json
|
# Skip if no package.json
|
||||||
if: ${{ steps.versions.outputs.npmVersion }}
|
if: ${{ steps.versions.outputs.npmVersion }}
|
||||||
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
|
||||||
|
|
||||||
- name: Get php version
|
- name: Get php version
|
||||||
id: php-versions
|
id: php-versions
|
||||||
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
|
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
|
||||||
with:
|
with:
|
||||||
filename: ${{ env.APP_NAME }}/appinfo/info.xml
|
filename: ${{ env.APP_NAME }}/appinfo/info.xml
|
||||||
|
|
||||||
- name: Set up php ${{ steps.php-versions.outputs.php-min }}
|
- name: Set up php ${{ steps.php-versions.outputs.php-min }}
|
||||||
uses: shivammathur/setup-php@2e947f1f6932d141d076ca441d0e1e881775e95b # v2
|
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
|
||||||
with:
|
with:
|
||||||
php-version: ${{ steps.php-versions.outputs.php-min }}
|
php-version: ${{ steps.php-versions.outputs.php-min }}
|
||||||
coverage: none
|
coverage: none
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Check composer.json
|
- name: Check composer.json
|
||||||
id: check_composer
|
id: check_composer
|
||||||
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
|
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
|
||||||
with:
|
with:
|
||||||
files: "${{ env.APP_NAME }}/composer.json"
|
files: "${{ env.APP_NAME }}/composer.json"
|
||||||
|
|
||||||
- name: Install composer dependencies
|
- name: Install composer dependencies
|
||||||
if: steps.check_composer.outputs.files_exists == 'true'
|
if: steps.check_composer.outputs.files_exists == 'true'
|
||||||
run: |
|
run: |
|
||||||
cd ${{ env.APP_NAME }}
|
cd ${{ env.APP_NAME }}
|
||||||
composer install --no-dev
|
composer install --no-dev
|
||||||
|
|
||||||
- name: Build ${{ env.APP_NAME }}
|
- name: Build ${{ env.APP_NAME }}
|
||||||
# Skip if no package.json
|
# Skip if no package.json
|
||||||
if: ${{ steps.versions.outputs.nodeVersion }}
|
if: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
env:
|
env:
|
||||||
NODE_ENV: production
|
CYPRESS_INSTALL_BINARY: 0
|
||||||
run: |
|
run: |
|
||||||
cd ${{ env.APP_NAME }}
|
cd ${{ env.APP_NAME }}
|
||||||
npm ci
|
npm ci
|
||||||
npm run build --if-present
|
npm run build --if-present
|
||||||
|
|
||||||
- name: Check Krankerl config
|
- name: Check Krankerl config
|
||||||
id: krankerl
|
id: krankerl
|
||||||
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
|
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
|
||||||
with:
|
with:
|
||||||
files: ${{ env.APP_NAME }}/krankerl.toml
|
files: ${{ env.APP_NAME }}/krankerl.toml
|
||||||
|
|
||||||
- name: Install Krankerl
|
- name: Install Krankerl
|
||||||
if: steps.krankerl.outputs.files_exists == 'true'
|
if: steps.krankerl.outputs.files_exists == 'true'
|
||||||
run: |
|
run: |
|
||||||
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.14.0/krankerl_0.14.0_amd64.deb
|
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.14.0/krankerl_0.14.0_amd64.deb
|
||||||
sudo dpkg -i krankerl_0.14.0_amd64.deb
|
sudo dpkg -i krankerl_0.14.0_amd64.deb
|
||||||
|
|
||||||
- name: Package ${{ env.APP_NAME }} ${{ env.APP_VERSION }} with krankerl
|
- name: Package ${{ env.APP_NAME }} ${{ env.APP_VERSION }} with krankerl
|
||||||
if: steps.krankerl.outputs.files_exists == 'true'
|
if: steps.krankerl.outputs.files_exists == 'true'
|
||||||
run: |
|
run: |
|
||||||
cd ${{ env.APP_NAME }}
|
cd ${{ env.APP_NAME }}
|
||||||
krankerl package
|
krankerl package
|
||||||
|
|
||||||
- name: Package ${{ env.APP_NAME }} ${{ env.APP_VERSION }} with makefile
|
- name: Package ${{ env.APP_NAME }} ${{ env.APP_VERSION }} with makefile
|
||||||
if: steps.krankerl.outputs.files_exists != 'true'
|
if: steps.krankerl.outputs.files_exists != 'true'
|
||||||
run: |
|
run: |
|
||||||
cd ${{ env.APP_NAME }}
|
cd ${{ env.APP_NAME }}
|
||||||
make appstore
|
make appstore
|
||||||
|
|
||||||
- name: Checkout server ${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
|
- name: Checkout server ${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
id: server-checkout
|
id: server-checkout
|
||||||
run: |
|
run: |
|
||||||
NCVERSION=${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
|
NCVERSION='${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}'
|
||||||
wget --quiet https://download.nextcloud.com/server/releases/latest-$NCVERSION.zip
|
wget --quiet https://download.nextcloud.com/server/releases/latest-$NCVERSION.zip
|
||||||
unzip latest-$NCVERSION.zip
|
unzip latest-$NCVERSION.zip
|
||||||
|
|
||||||
- name: Checkout server master fallback
|
- name: Checkout server master fallback
|
||||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
if: ${{ steps.server-checkout.outcome != 'success' }}
|
if: ${{ steps.server-checkout.outcome != 'success' }}
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
repository: nextcloud/server
|
repository: nextcloud/server
|
||||||
path: nextcloud
|
path: nextcloud
|
||||||
|
|
||||||
- name: Sign app
|
- name: Sign app
|
||||||
run: |
|
run: |
|
||||||
# Extracting release
|
# Extracting release
|
||||||
cd ${{ env.APP_NAME }}/build/artifacts
|
cd ${{ env.APP_NAME }}/build/artifacts
|
||||||
tar -xvf ${{ env.APP_NAME }}.tar.gz
|
tar -xvf ${{ env.APP_NAME }}.tar.gz
|
||||||
cd ../../../
|
cd ../../../
|
||||||
# Setting up keys
|
# Setting up keys
|
||||||
echo "${{ secrets.APP_PRIVATE_KEY }}" > ${{ env.APP_NAME }}.key
|
echo '${{ secrets.APP_PRIVATE_KEY }}' > ${{ env.APP_NAME }}.key
|
||||||
wget --quiet "https://github.com/nextcloud/app-certificate-requests/raw/master/${{ env.APP_NAME }}/${{ env.APP_NAME }}.crt"
|
wget --quiet "https://github.com/nextcloud/app-certificate-requests/raw/master/${{ env.APP_NAME }}/${{ env.APP_NAME }}.crt"
|
||||||
# Signing
|
# Signing
|
||||||
php nextcloud/occ integrity:sign-app --privateKey=../${{ env.APP_NAME }}.key --certificate=../${{ env.APP_NAME }}.crt --path=../${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}
|
php nextcloud/occ integrity:sign-app --privateKey=../${{ env.APP_NAME }}.key --certificate=../${{ env.APP_NAME }}.crt --path=../${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}
|
||||||
# Rebuilding archive
|
# Rebuilding archive
|
||||||
cd ${{ env.APP_NAME }}/build/artifacts
|
cd ${{ env.APP_NAME }}/build/artifacts
|
||||||
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
|
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Attach tarball to github release
|
- name: Attach tarball to github release
|
||||||
uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2
|
uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2
|
||||||
id: attach_to_release
|
id: attach_to_release
|
||||||
with:
|
with:
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
file: ${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}.tar.gz
|
file: ${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}.tar.gz
|
||||||
asset_name: ${{ env.APP_NAME }}-${{ env.APP_VERSION }}.tar.gz
|
asset_name: ${{ env.APP_NAME }}-${{ env.APP_VERSION }}.tar.gz
|
||||||
tag: ${{ github.ref }}
|
tag: ${{ github.ref }}
|
||||||
overwrite: true
|
overwrite: true
|
||||||
|
|
||||||
- name: Upload app to Nextcloud appstore
|
- name: Upload app to Nextcloud appstore
|
||||||
uses: nextcloud-releases/nextcloud-appstore-push-action@a011fe619bcf6e77ddebc96f9908e1af4071b9c1 # v1
|
uses: nextcloud-releases/nextcloud-appstore-push-action@a011fe619bcf6e77ddebc96f9908e1af4071b9c1 # v1
|
||||||
with:
|
with:
|
||||||
app_name: ${{ env.APP_NAME }}
|
app_name: ${{ env.APP_NAME }}
|
||||||
appstore_token: ${{ secrets.APPSTORE_TOKEN }}
|
appstore_token: ${{ secrets.APPSTORE_TOKEN }}
|
||||||
download_url: ${{ steps.attach_to_release.outputs.browser_download_url }}
|
download_url: ${{ steps.attach_to_release.outputs.browser_download_url }}
|
||||||
app_private_key: ${{ secrets.APP_PRIVATE_KEY }}
|
app_private_key: ${{ secrets.APP_PRIVATE_KEY }}
|
||||||
|
|||||||
4
.github/workflows/cypress.yml
vendored
4
.github/workflows/cypress.yml
vendored
@@ -41,7 +41,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
uses: actions/setup-node@v4.0.2
|
uses: actions/setup-node@v4.0.3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
|
|
||||||
@@ -91,7 +91,7 @@ jobs:
|
|||||||
restore-keys: ${{ steps.extcache.outputs.key }}
|
restore-keys: ${{ steps.extcache.outputs.key }}
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.31.0
|
uses: shivammathur/setup-php@2.31.1
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
extensions: ${{ env.extensions }}
|
extensions: ${{ env.extensions }}
|
||||||
|
|||||||
2
.github/workflows/integration.yml
vendored
2
.github/workflows/integration.yml
vendored
@@ -78,7 +78,7 @@ jobs:
|
|||||||
path: apps/activity
|
path: apps/activity
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.31.0
|
uses: shivammathur/setup-php@2.31.1
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
|
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
|
||||||
|
|||||||
2
.github/workflows/lint-eslint.yml
vendored
2
.github/workflows/lint-eslint.yml
vendored
@@ -63,7 +63,7 @@ jobs:
|
|||||||
fallbackNpm: '^10'
|
fallbackNpm: '^10'
|
||||||
|
|
||||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/lint-php-cs.yml
vendored
2
.github/workflows/lint-php-cs.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
|||||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
|
||||||
- name: Set up php8.2
|
- name: Set up php8.2
|
||||||
uses: shivammathur/setup-php@2e947f1f6932d141d076ca441d0e1e881775e95b # v2
|
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.2
|
php-version: 8.2
|
||||||
coverage: none
|
coverage: none
|
||||||
|
|||||||
2
.github/workflows/lint-php.yml
vendored
2
.github/workflows/lint-php.yml
vendored
@@ -28,7 +28,7 @@ jobs:
|
|||||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2e947f1f6932d141d076ca441d0e1e881775e95b # v2
|
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
coverage: none
|
coverage: none
|
||||||
|
|||||||
2
.github/workflows/lint-stylelint.yml
vendored
2
.github/workflows/lint-stylelint.yml
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
fallbackNpm: '^9'
|
fallbackNpm: '^9'
|
||||||
|
|
||||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/nodejs.yml
vendored
2
.github/workflows/nodejs.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4.1.7
|
- uses: actions/checkout@v4.1.7
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
uses: actions/setup-node@v4.0.2
|
uses: actions/setup-node@v4.0.3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
- name: Set up npm7
|
- name: Set up npm7
|
||||||
|
|||||||
2
.github/workflows/npm-audit-fix.yml
vendored
2
.github/workflows/npm-audit-fix.yml
vendored
@@ -36,7 +36,7 @@ jobs:
|
|||||||
fallbackNpm: '^9'
|
fallbackNpm: '^9'
|
||||||
|
|
||||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/phpunit-mysql.yml
vendored
2
.github/workflows/phpunit-mysql.yml
vendored
@@ -92,7 +92,7 @@ jobs:
|
|||||||
path: apps/${{ env.APP_NAME }}
|
path: apps/${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2e947f1f6932d141d076ca441d0e1e881775e95b # v2
|
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
||||||
|
|||||||
2
.github/workflows/phpunit-pgsql.yml
vendored
2
.github/workflows/phpunit-pgsql.yml
vendored
@@ -80,7 +80,7 @@ jobs:
|
|||||||
path: apps/${{ env.APP_NAME }}
|
path: apps/${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2e947f1f6932d141d076ca441d0e1e881775e95b # v2
|
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
||||||
|
|||||||
2
.github/workflows/phpunit-sqlite.yml
vendored
2
.github/workflows/phpunit-sqlite.yml
vendored
@@ -69,7 +69,7 @@ jobs:
|
|||||||
path: apps/${{ env.APP_NAME }}
|
path: apps/${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2e947f1f6932d141d076ca441d0e1e881775e95b # v2
|
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
||||||
|
|||||||
2
.github/workflows/psalm.yml
vendored
2
.github/workflows/psalm.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
|||||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
|
||||||
- name: Set up php8.2
|
- name: Set up php8.2
|
||||||
uses: shivammathur/setup-php@2e947f1f6932d141d076ca441d0e1e881775e95b # v2
|
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.2
|
php-version: 8.2
|
||||||
coverage: none
|
coverage: none
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ jobs:
|
|||||||
contents: write
|
contents: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: mdecoleman/pr-branch-name@bab4c71506bcd299fb350af63bb8e53f2940a599 # v2.0.0
|
- uses: mdecoleman/pr-branch-name@55795d86b4566d300d237883103f052125cc7508 # v3.0.0
|
||||||
id: branchname
|
id: branchname
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@@ -43,7 +43,7 @@ jobs:
|
|||||||
|
|
||||||
# Enable GitHub auto merge
|
# Enable GitHub auto merge
|
||||||
- name: Auto merge
|
- name: Auto merge
|
||||||
uses: alexwilson/enable-github-automerge-action@772cbfd2817d6418fff7dfcfff0962d0af42d813 # main
|
uses: alexwilson/enable-github-automerge-action@984aa5760674115463cb7835dc156fcc17413419 # main
|
||||||
if: startsWith(steps.branchname.outputs.branch, 'automated/noid/') && endsWith(steps.branchname.outputs.branch, 'update-nextcloud-ocp')
|
if: startsWith(steps.branchname.outputs.branch, 'automated/noid/') && endsWith(steps.branchname.outputs.branch, 'update-nextcloud-ocp')
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
2
.github/workflows/update-nextcloud-ocp.yml
vendored
2
.github/workflows/update-nextcloud-ocp.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Set up php8.2
|
- name: Set up php8.2
|
||||||
if: steps.checkout.outcome == 'success'
|
if: steps.checkout.outcome == 'success'
|
||||||
uses: shivammathur/setup-php@2e947f1f6932d141d076ca441d0e1e881775e95b # v2
|
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.2
|
php-version: 8.2
|
||||||
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
||||||
|
|||||||
26
CHANGELOG.md
26
CHANGELOG.md
@@ -5,6 +5,32 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## 1.14.0-beta.1
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- fix: card details focus issue with screen reader @luka-nextcloud [#5858](https://github.com/nextcloud/deck/pull/5858)
|
||||||
|
- Cleaning up unused indicies @mintsoft [#5612](https://github.com/nextcloud/deck/pull/5612)
|
||||||
|
- Change import command's config default argument @JimMadge [#5722](https://github.com/nextcloud/deck/pull/5722)
|
||||||
|
- don't reset update time when no update was written to db @grnd-alt [#6005](https://github.com/nextcloud/deck/pull/6005)
|
||||||
|
- docs: Fix symlink to readme @juliushaertl [#6033](https://github.com/nextcloud/deck/pull/6033)
|
||||||
|
- perf: Avoid fetching labels and owner details on permission check @juliushaertl [#6010](https://github.com/nextcloud/deck/pull/6010)
|
||||||
|
- Only check path for being accessible when the storage is a object home @mejo- [#6062](https://github.com/nextcloud/deck/pull/6062)
|
||||||
|
- Fix: incorrect height of editing windows and edit bar @pschopen [#6088](https://github.com/nextcloud/deck/pull/6088)
|
||||||
|
- fix: design review issues @luka-nextcloud [#6113](https://github.com/nextcloud/deck/pull/6113)
|
||||||
|
- fix: remove redundant log @luka-nextcloud [#6115](https://github.com/nextcloud/deck/pull/6115)
|
||||||
|
- fix: Adjust dependencies to fix filepicker @susnux [#5964](https://github.com/nextcloud/deck/pull/5964)
|
||||||
|
- fix: Remove bindParam usage with simpler query @juliushaertl [#6065](https://github.com/nextcloud/deck/pull/6065)
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- Adds link to Nextcloud Deck for iOS in README.md file @StCyr [#5886](https://github.com/nextcloud/deck/pull/5886)
|
||||||
|
- choir(i18n): Change filter title @rakekniven [#5957](https://github.com/nextcloud/deck/pull/5957)
|
||||||
|
- chore: Clean up permission service @juliushaertl [#6011](https://github.com/nextcloud/deck/pull/6011)
|
||||||
|
- Update User_documentation_en.md @StCyr [#6029](https://github.com/nextcloud/deck/pull/6029)
|
||||||
|
- chore: Move comments event handler to use proper event dispatcher @juliushaertl [#6008](https://github.com/nextcloud/deck/pull/6008)
|
||||||
|
- Migrate REUSE to TOML format @AndyScherzinger [#6084](https://github.com/nextcloud/deck/pull/6084)
|
||||||
|
|
||||||
## 1.13.0-beta.1
|
## 1.13.0-beta.1
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
10
README.md
10
README.md
@@ -91,8 +91,8 @@ You can enable HMR (Hot module replacement) to avoid page reloads when working o
|
|||||||
```
|
```
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-p 8080:80 \
|
-p 8080:80 \
|
||||||
-v ~/path/to/app:/var/www/html/apps-extra/app \
|
-v $PWD:/var/www/html/apps-extra/deck \
|
||||||
ghcr.io/juliushaertl/nextcloud-dev-php80:latest
|
ghcr.io/juliushaertl/nextcloud-dev-php81:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
### Full Nextcloud development environment
|
### Full Nextcloud development environment
|
||||||
@@ -105,6 +105,12 @@ You can use the provided Makefile to run all tests by using:
|
|||||||
|
|
||||||
make test
|
make test
|
||||||
|
|
||||||
|
#### Running behat integration tests
|
||||||
|
|
||||||
|
Within `tests/integration/` run `composer install` and then choose one of the two options:
|
||||||
|
- Run tests with a local php server: `bash run.sh`
|
||||||
|
- Run against an existing Nextcloud installation: `BEHAT_SERVER_URL=http://nextcloud.local ./vendor/bin/behat --colors features/decks.feature`
|
||||||
|
|
||||||
### Documentation
|
### Documentation
|
||||||
|
|
||||||
The documentation for our REST API can be found at https://deck.readthedocs.io/en/latest/API/
|
The documentation for our REST API can be found at https://deck.readthedocs.io/en/latest/API/
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
- 🚀 Get your project organized
|
- 🚀 Get your project organized
|
||||||
|
|
||||||
</description>
|
</description>
|
||||||
<version>1.14.0-dev</version>
|
<version>1.14.0-beta.1</version>
|
||||||
<licence>agpl</licence>
|
<licence>agpl</licence>
|
||||||
<author>Julius Härtl</author>
|
<author>Julius Härtl</author>
|
||||||
<documentation>
|
<documentation>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"justinrainbow/json-schema": "^5.2"
|
"justinrainbow/json-schema": "^6.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"roave/security-advisories": "dev-master",
|
"roave/security-advisories": "dev-master",
|
||||||
|
|||||||
224
composer.lock
generated
224
composer.lock
generated
@@ -4,27 +4,144 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "91d1163b8b5b076f39a79a9c394d0217",
|
"content-hash": "ee1c5b69795943e43d6277064d284ae0",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "justinrainbow/json-schema",
|
"name": "icecave/parity",
|
||||||
"version": "v5.2.13",
|
"version": "1.0.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/justinrainbow/json-schema.git",
|
"url": "https://github.com/icecave/parity.git",
|
||||||
"reference": "fbbe7e5d79f618997bc3332a6f49246036c45793"
|
"reference": "0109fef58b3230d23b20b2ac52ecdf477218d300"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793",
|
"url": "https://api.github.com/repos/icecave/parity/zipball/0109fef58b3230d23b20b2ac52ecdf477218d300",
|
||||||
"reference": "fbbe7e5d79f618997bc3332a6f49246036c45793",
|
"reference": "0109fef58b3230d23b20b2ac52ecdf477218d300",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
"icecave/repr": "~1",
|
||||||
|
"php": ">=5.3"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"eloquent/liberator": "~1",
|
||||||
|
"icecave/archer": "~1"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"eloquent/asplode": "Drop-in exception-based error handling."
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Icecave\\Parity": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "James Harris",
|
||||||
|
"email": "james.harris@icecave.com.au",
|
||||||
|
"homepage": "https://github.com/jmalloc"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A customizable deep comparison library.",
|
||||||
|
"homepage": "https://github.com/IcecaveStudios/parity",
|
||||||
|
"keywords": [
|
||||||
|
"compare",
|
||||||
|
"comparison",
|
||||||
|
"equal",
|
||||||
|
"equality",
|
||||||
|
"greater",
|
||||||
|
"less",
|
||||||
|
"sort",
|
||||||
|
"sorting"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/icecave/parity/issues",
|
||||||
|
"source": "https://github.com/icecave/parity/tree/1.0.0"
|
||||||
|
},
|
||||||
|
"time": "2014-01-17T05:56:27+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "icecave/repr",
|
||||||
|
"version": "1.0.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/icecave/repr.git",
|
||||||
|
"reference": "8a3d2953adf5f464a06e3e2587aeacc97e2bed07"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/icecave/repr/zipball/8a3d2953adf5f464a06e3e2587aeacc97e2bed07",
|
||||||
|
"reference": "8a3d2953adf5f464a06e3e2587aeacc97e2bed07",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"icecave/archer": "~1"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"eloquent/asplode": "Drop-in exception-based error handling."
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Icecave\\Repr\\": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "James Harris",
|
||||||
|
"email": "james.harris@icecave.com.au",
|
||||||
|
"homepage": "https://github.com/jmalloc"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A library for generating string representations of any value, inspired by Python's reprlib library.",
|
||||||
|
"homepage": "https://github.com/IcecaveStudios/repr",
|
||||||
|
"keywords": [
|
||||||
|
"human",
|
||||||
|
"readable",
|
||||||
|
"repr",
|
||||||
|
"representation",
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/icecave/repr/issues",
|
||||||
|
"source": "https://github.com/icecave/repr/tree/1.0.1"
|
||||||
|
},
|
||||||
|
"time": "2014-07-25T05:44:41+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "justinrainbow/json-schema",
|
||||||
|
"version": "6.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/jsonrainbow/json-schema.git",
|
||||||
|
"reference": "a38c6198d53b09c0702f440585a4f4a5d9137bd9"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/a38c6198d53b09c0702f440585a4f4a5d9137bd9",
|
||||||
|
"reference": "a38c6198d53b09c0702f440585a4f4a5d9137bd9",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"icecave/parity": "1.0.0",
|
||||||
|
"marc-mabe/php-enum": "^2.0 || ^3.0 || ^4.0",
|
||||||
"php": ">=5.3.3"
|
"php": ">=5.3.3"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1",
|
"friendsofphp/php-cs-fixer": "~2.2.20 || ~2.19.0",
|
||||||
"json-schema/json-schema-test-suite": "1.2.0",
|
"json-schema/json-schema-test-suite": "1.2.0",
|
||||||
"phpunit/phpunit": "^4.8.35"
|
"phpunit/phpunit": "^4.8.35"
|
||||||
},
|
},
|
||||||
@@ -34,7 +151,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "5.0.x-dev"
|
"dev-master": "6.x-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -65,16 +182,89 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A library to validate a json schema.",
|
"description": "A library to validate a json schema.",
|
||||||
"homepage": "https://github.com/justinrainbow/json-schema",
|
"homepage": "https://github.com/jsonrainbow/json-schema",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"json",
|
"json",
|
||||||
"schema"
|
"schema"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/justinrainbow/json-schema/issues",
|
"issues": "https://github.com/jsonrainbow/json-schema/issues",
|
||||||
"source": "https://github.com/justinrainbow/json-schema/tree/v5.2.13"
|
"source": "https://github.com/jsonrainbow/json-schema/tree/6.0.0"
|
||||||
},
|
},
|
||||||
"time": "2023-09-26T02:20:38+00:00"
|
"time": "2024-07-30T17:49:21+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "marc-mabe/php-enum",
|
||||||
|
"version": "v4.7.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/marc-mabe/php-enum.git",
|
||||||
|
"reference": "3da42cc1daceaf98c858e56f59d1ccd52b011fdc"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/marc-mabe/php-enum/zipball/3da42cc1daceaf98c858e56f59d1ccd52b011fdc",
|
||||||
|
"reference": "3da42cc1daceaf98c858e56f59d1ccd52b011fdc",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-reflection": "*",
|
||||||
|
"php": "^7.1 | ^8.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpbench/phpbench": "^0.16.10 || ^1.0.4",
|
||||||
|
"phpstan/phpstan": "^1.3.1",
|
||||||
|
"phpunit/phpunit": "^7.5.20 | ^8.5.22 | ^9.5.11",
|
||||||
|
"vimeo/psalm": "^4.17.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.6-dev",
|
||||||
|
"dev-3.x": "3.2-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"MabeEnum\\": "src/"
|
||||||
|
},
|
||||||
|
"classmap": [
|
||||||
|
"stubs/Stringable.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-3-Clause"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Marc Bennewitz",
|
||||||
|
"email": "dev@mabe.berlin",
|
||||||
|
"homepage": "https://mabe.berlin/",
|
||||||
|
"role": "Lead"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Simple and fast implementation of enumerations with native PHP",
|
||||||
|
"homepage": "https://github.com/marc-mabe/php-enum",
|
||||||
|
"keywords": [
|
||||||
|
"enum",
|
||||||
|
"enum-map",
|
||||||
|
"enum-set",
|
||||||
|
"enumeration",
|
||||||
|
"enumerator",
|
||||||
|
"enummap",
|
||||||
|
"enumset",
|
||||||
|
"map",
|
||||||
|
"set",
|
||||||
|
"type",
|
||||||
|
"type-hint",
|
||||||
|
"typehint"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/marc-mabe/php-enum/issues",
|
||||||
|
"source": "https://github.com/marc-mabe/php-enum/tree/v4.7.0"
|
||||||
|
},
|
||||||
|
"time": "2022-04-19T02:21:46+00:00"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"packages-dev": [
|
"packages-dev": [
|
||||||
@@ -254,12 +444,12 @@
|
|||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/nextcloud-deps/ocp.git",
|
"url": "https://github.com/nextcloud-deps/ocp.git",
|
||||||
"reference": "0988e496b6f9c5086e4cf6b9364cba9360b4c808"
|
"reference": "fb567bbfffc34cdd48efd19990b6b452c2eea6eb"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/0988e496b6f9c5086e4cf6b9364cba9360b4c808",
|
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/fb567bbfffc34cdd48efd19990b6b452c2eea6eb",
|
||||||
"reference": "0988e496b6f9c5086e4cf6b9364cba9360b4c808",
|
"reference": "fb567bbfffc34cdd48efd19990b6b452c2eea6eb",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -291,7 +481,7 @@
|
|||||||
"issues": "https://github.com/nextcloud-deps/ocp/issues",
|
"issues": "https://github.com/nextcloud-deps/ocp/issues",
|
||||||
"source": "https://github.com/nextcloud-deps/ocp/tree/master"
|
"source": "https://github.com/nextcloud-deps/ocp/tree/master"
|
||||||
},
|
},
|
||||||
"time": "2024-07-06T00:35:19+00:00"
|
"time": "2024-08-03T00:37:02+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nikic/php-parser",
|
"name": "nikic/php-parser",
|
||||||
|
|||||||
10
css/deck.css
10
css/deck.css
@@ -11,3 +11,13 @@
|
|||||||
background-image: url(../img/deck.svg);
|
background-image: url(../img/deck.svg);
|
||||||
filter: var(--background-invert-if-dark);
|
filter: var(--background-invert-if-dark);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input[type=submit].icon-confirm {
|
||||||
|
border-color: var(--color-border-maxcontrast) !important;
|
||||||
|
border-left: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=text]:focus+input[type=submit].icon-confirm,
|
||||||
|
input[type=text]:hover+input[type=submit].icon-confirm {
|
||||||
|
border-color: var(--color-main-text) !important;
|
||||||
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
import './commands.js'
|
import './commands.js'
|
||||||
|
|
||||||
Cypress.on('uncaught:exception', (err) => {
|
Cypress.on('uncaught:exception', (err) => {
|
||||||
return !err.message.includes('ResizeObserver loop limit exceeded')
|
return !err.message.includes('ResizeObserver loop limit exceeded') && !err.message.includes('ResizeObserver loop completed with undelivered notifications')
|
||||||
})
|
})
|
||||||
|
|
||||||
// Alternatively you can use CommonJS syntax:
|
// Alternatively you can use CommonJS syntax:
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ OC.L10N.register(
|
|||||||
"Invalid path selected" : "An hent dibabet n'eus ket anezhañ",
|
"Invalid path selected" : "An hent dibabet n'eus ket anezhañ",
|
||||||
"Comments" : "Displegadennoù",
|
"Comments" : "Displegadennoù",
|
||||||
"Modified" : "Cheñchet",
|
"Modified" : "Cheñchet",
|
||||||
|
"Created" : "Krouet",
|
||||||
"Save" : "Enrollañ",
|
"Save" : "Enrollañ",
|
||||||
"Reply" : "Respont",
|
"Reply" : "Respont",
|
||||||
"Update" : "Adnevesaat",
|
"Update" : "Adnevesaat",
|
||||||
@@ -38,7 +39,7 @@ OC.L10N.register(
|
|||||||
"seconds ago" : "eilenn zo",
|
"seconds ago" : "eilenn zo",
|
||||||
"Search" : "Klask",
|
"Search" : "Klask",
|
||||||
"Shared with you" : "Rannet ganeoc'h",
|
"Shared with you" : "Rannet ganeoc'h",
|
||||||
"No notifications" : "Kemenaden ebet",
|
"No notifications" : "Kemennadenn ebet",
|
||||||
"Today" : "Hiziv",
|
"Today" : "Hiziv",
|
||||||
"Tomorrow" : "Warc'hoaz",
|
"Tomorrow" : "Warc'hoaz",
|
||||||
"Close" : "Seriñ",
|
"Close" : "Seriñ",
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
"Invalid path selected" : "An hent dibabet n'eus ket anezhañ",
|
"Invalid path selected" : "An hent dibabet n'eus ket anezhañ",
|
||||||
"Comments" : "Displegadennoù",
|
"Comments" : "Displegadennoù",
|
||||||
"Modified" : "Cheñchet",
|
"Modified" : "Cheñchet",
|
||||||
|
"Created" : "Krouet",
|
||||||
"Save" : "Enrollañ",
|
"Save" : "Enrollañ",
|
||||||
"Reply" : "Respont",
|
"Reply" : "Respont",
|
||||||
"Update" : "Adnevesaat",
|
"Update" : "Adnevesaat",
|
||||||
@@ -36,7 +37,7 @@
|
|||||||
"seconds ago" : "eilenn zo",
|
"seconds ago" : "eilenn zo",
|
||||||
"Search" : "Klask",
|
"Search" : "Klask",
|
||||||
"Shared with you" : "Rannet ganeoc'h",
|
"Shared with you" : "Rannet ganeoc'h",
|
||||||
"No notifications" : "Kemenaden ebet",
|
"No notifications" : "Kemennadenn ebet",
|
||||||
"Today" : "Hiziv",
|
"Today" : "Hiziv",
|
||||||
"Tomorrow" : "Warc'hoaz",
|
"Tomorrow" : "Warc'hoaz",
|
||||||
"Close" : "Seriñ",
|
"Close" : "Seriñ",
|
||||||
|
|||||||
@@ -251,6 +251,7 @@ OC.L10N.register(
|
|||||||
"Remove due date" : "Suprimeix la data de caducitat",
|
"Remove due date" : "Suprimeix la data de caducitat",
|
||||||
"Mark as done" : "Marcat com a fet",
|
"Mark as done" : "Marcat com a fet",
|
||||||
"Due at:" : "Venciment a:",
|
"Due at:" : "Venciment a:",
|
||||||
|
"Not done" : "No s'ha fet",
|
||||||
"Unarchive card" : "Desarxiva targeta",
|
"Unarchive card" : "Desarxiva targeta",
|
||||||
"Archive card" : "Arxiva la targeta",
|
"Archive card" : "Arxiva la targeta",
|
||||||
"Select Date" : "Selecciona la data",
|
"Select Date" : "Selecciona la data",
|
||||||
|
|||||||
@@ -249,6 +249,7 @@
|
|||||||
"Remove due date" : "Suprimeix la data de caducitat",
|
"Remove due date" : "Suprimeix la data de caducitat",
|
||||||
"Mark as done" : "Marcat com a fet",
|
"Mark as done" : "Marcat com a fet",
|
||||||
"Due at:" : "Venciment a:",
|
"Due at:" : "Venciment a:",
|
||||||
|
"Not done" : "No s'ha fet",
|
||||||
"Unarchive card" : "Desarxiva targeta",
|
"Unarchive card" : "Desarxiva targeta",
|
||||||
"Archive card" : "Arxiva la targeta",
|
"Archive card" : "Arxiva la targeta",
|
||||||
"Select Date" : "Selecciona la data",
|
"Select Date" : "Selecciona la data",
|
||||||
|
|||||||
16
l10n/el.js
16
l10n/el.js
@@ -37,6 +37,10 @@ OC.L10N.register(
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "Ο/η {user} αρχειοθέτησε την κάρτα {card} στην λίστα {stack} του πίνακα {board} ",
|
"{user} has archived card {card} in list {stack} on board {board}" : "Ο/η {user} αρχειοθέτησε την κάρτα {card} στην λίστα {stack} του πίνακα {board} ",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Επαναφέρατε από το αρχείο την καρτέλα {card} της λίστας {stack} του πίνακα {board}",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Επαναφέρατε από το αρχείο την καρτέλα {card} της λίστας {stack} του πίνακα {board}",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "Ο/η {user} επανέφερε από το αρχείο την κάρτα {card} της λίστας {stack} του πίνακα {board}",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "Ο/η {user} επανέφερε από το αρχείο την κάρτα {card} της λίστας {stack} του πίνακα {board}",
|
||||||
|
"You have marked the card {card} as done in list {stack} on board {board}" : "Έχετε επισημάνει την κάρτα {card} ως ολοκληρωμένη στη λίστα {stack} του πίνακα {board}",
|
||||||
|
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user} έχει επισημάνει την κάρτα {card} ως ολοκληρωμένη στη λίστα {stack} του πίνακα {board}",
|
||||||
|
"You have marked the card {card} as undone in list {stack} on board {board}" : "Έχετε επισημάνει την κάρτα {card} ως μη ολοκληρωμένη στη λίστα {stack} του πίνακα {board}",
|
||||||
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} έχει επισημάνει την κάρτα {card} ως μη ολοκληρωμένη στη λίστα {stack} του πίνακα {board}",
|
||||||
"You have removed the due date of card {card}" : "Καταργήσατε την ημερομηνία λήξης της καρτέλας {card}",
|
"You have removed the due date of card {card}" : "Καταργήσατε την ημερομηνία λήξης της καρτέλας {card}",
|
||||||
"{user} has removed the due date of card {card}" : "Ο/η {user} κατάργησε την ημερομηνία λήξης της καρτέλας {card}",
|
"{user} has removed the due date of card {card}" : "Ο/η {user} κατάργησε την ημερομηνία λήξης της καρτέλας {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Ορίσατε την ημερομηνία λήξης της καρτέλας {card} σε {after}",
|
"You have set the due date of card {card} to {after}" : "Ορίσατε την ημερομηνία λήξης της καρτέλας {card} σε {after}",
|
||||||
@@ -84,6 +88,7 @@ OC.L10N.register(
|
|||||||
"Deck board" : "Πίνακας του Deck",
|
"Deck board" : "Πίνακας του Deck",
|
||||||
"Owned by %1$s" : "Ανήκει στον/στην %1$s",
|
"Owned by %1$s" : "Ανήκει στον/στην %1$s",
|
||||||
"Deck boards, cards and comments" : "Πίνακες, κάρτες και σχόλια Deck",
|
"Deck boards, cards and comments" : "Πίνακες, κάρτες και σχόλια Deck",
|
||||||
|
"Create a new deck card" : "Δημιουργήστε μια νέα κάρτα",
|
||||||
"Card comments" : "Σχόλια καρτέλας",
|
"Card comments" : "Σχόλια καρτέλας",
|
||||||
"%s on %s" : "%s στο %s",
|
"%s on %s" : "%s στο %s",
|
||||||
"Deck boards and cards" : "Πίνακες και κάρτες Deck",
|
"Deck boards and cards" : "Πίνακες και κάρτες Deck",
|
||||||
@@ -143,6 +148,8 @@ OC.L10N.register(
|
|||||||
"Filter by tag" : "Φίλτρο ανά ετικέτα",
|
"Filter by tag" : "Φίλτρο ανά ετικέτα",
|
||||||
"Filter by assigned user" : "Φίλτρο ανά χρήστη",
|
"Filter by assigned user" : "Φίλτρο ανά χρήστη",
|
||||||
"Unassigned" : "Χωρίς ανάθεση",
|
"Unassigned" : "Χωρίς ανάθεση",
|
||||||
|
"Filter by status" : "Φίλτρο με βάση την κατάσταση",
|
||||||
|
"Open and completed" : "Ανοιχτά και ολοκληρωμένα",
|
||||||
"Open" : "Ανοιχτός",
|
"Open" : "Ανοιχτός",
|
||||||
"Completed" : "Ολοκληρωμένες",
|
"Completed" : "Ολοκληρωμένες",
|
||||||
"Filter by due date" : "Φίλτρο ανά ημερομηνία λήξης",
|
"Filter by due date" : "Φίλτρο ανά ημερομηνία λήξης",
|
||||||
@@ -153,6 +160,7 @@ OC.L10N.register(
|
|||||||
"No due date" : "Χωρίς ημερομηνία λήξης",
|
"No due date" : "Χωρίς ημερομηνία λήξης",
|
||||||
"Clear filter" : "Εκκαθάριση φίλτρου",
|
"Clear filter" : "Εκκαθάριση φίλτρου",
|
||||||
"View Modes" : "Τρόποι προβολής",
|
"View Modes" : "Τρόποι προβολής",
|
||||||
|
"Toggle View Modes" : "Εναλλαγή τρόπων προβολής",
|
||||||
"Hide archived cards" : "Απόκρυψη καρτελών που αρχειοθετήθηκαν",
|
"Hide archived cards" : "Απόκρυψη καρτελών που αρχειοθετήθηκαν",
|
||||||
"Show archived cards" : "Εμφάνιση καρτελών που αρχειοθετήθηκαν",
|
"Show archived cards" : "Εμφάνιση καρτελών που αρχειοθετήθηκαν",
|
||||||
"Toggle compact mode" : "Εναλλαγή λειτουργίας μικρού μεγέθους",
|
"Toggle compact mode" : "Εναλλαγή λειτουργίας μικρού μεγέθους",
|
||||||
@@ -171,6 +179,8 @@ OC.L10N.register(
|
|||||||
"Deleted lists" : "Διαγραμμένες λίστες",
|
"Deleted lists" : "Διαγραμμένες λίστες",
|
||||||
"Undo" : "Αναίρεση",
|
"Undo" : "Αναίρεση",
|
||||||
"Deleted cards" : "Διαγραμμένες καρτέλες",
|
"Deleted cards" : "Διαγραμμένες καρτέλες",
|
||||||
|
"Share board with a user, group or team …" : "Κοινή χρήση πίνακα με έναν χρήστη, μια ομάδα ή team ...",
|
||||||
|
"Searching for users, groups and teams …" : "Αναζήτηση χρηστών, ομάδων και teams …",
|
||||||
"No participants found" : "Δε βρέθηκαν συμμετέχοντες",
|
"No participants found" : "Δε βρέθηκαν συμμετέχοντες",
|
||||||
"Board owner" : "Κάτοχος πίνακα",
|
"Board owner" : "Κάτοχος πίνακα",
|
||||||
"(Group)" : "(Ομάδα)",
|
"(Group)" : "(Ομάδα)",
|
||||||
@@ -200,6 +210,7 @@ OC.L10N.register(
|
|||||||
"title and color value must be provided" : "ο τίτλος και η τιμή χρώματος πρέπει να παρέχονται",
|
"title and color value must be provided" : "ο τίτλος και η τιμή χρώματος πρέπει να παρέχονται",
|
||||||
"Board name" : "Όνομα πίνακα",
|
"Board name" : "Όνομα πίνακα",
|
||||||
"Members" : "Μέλη",
|
"Members" : "Μέλη",
|
||||||
|
"Assign to users/groups/team" : "Ανάθεση σε χρήστες/ομάδες/teams",
|
||||||
"Assign a user to this card…" : "Ανάθεση χρήστη στην καρτέλα...",
|
"Assign a user to this card…" : "Ανάθεση χρήστη στην καρτέλα...",
|
||||||
"Select a user to assign to this card…" : "Επιλέξτε έναν χρήστη για να του αναθέσετε αυτή την κάρτα...",
|
"Select a user to assign to this card…" : "Επιλέξτε έναν χρήστη για να του αναθέσετε αυτή την κάρτα...",
|
||||||
"Upload new files" : "Ανεβάστε νέα αρχεία",
|
"Upload new files" : "Ανεβάστε νέα αρχεία",
|
||||||
@@ -246,6 +257,7 @@ OC.L10N.register(
|
|||||||
"Remove due date" : "Αφαίρεση ημερομηνίας λήξης",
|
"Remove due date" : "Αφαίρεση ημερομηνίας λήξης",
|
||||||
"Mark as done" : "Σήμανση ως ολοκληρωμένου",
|
"Mark as done" : "Σήμανση ως ολοκληρωμένου",
|
||||||
"Due at:" : "Λήγει στις:",
|
"Due at:" : "Λήγει στις:",
|
||||||
|
"Not done" : "Μη ολοκληρωμένο",
|
||||||
"Unarchive card" : "Αναίρεση αρχειοθέτησης καρτέλας",
|
"Unarchive card" : "Αναίρεση αρχειοθέτησης καρτέλας",
|
||||||
"Archive card" : "Αρχειοθέτηση καρτέλας",
|
"Archive card" : "Αρχειοθέτηση καρτέλας",
|
||||||
"Select Date" : "Επιλέξτε ημερομηνία",
|
"Select Date" : "Επιλέξτε ημερομηνία",
|
||||||
@@ -299,6 +311,7 @@ OC.L10N.register(
|
|||||||
"Shared with you" : "Διαμοιρασμένα μαζί σας",
|
"Shared with you" : "Διαμοιρασμένα μαζί σας",
|
||||||
"Deck settings" : "Ρυθμίσεις Deck",
|
"Deck settings" : "Ρυθμίσεις Deck",
|
||||||
"Use bigger card view" : "Χρησιμοποιήστε μεγαλύτερη προβολή καρτέλας",
|
"Use bigger card view" : "Χρησιμοποιήστε μεγαλύτερη προβολή καρτέλας",
|
||||||
|
"Show card ID badge" : "Εμφάνιση ID κάρτας",
|
||||||
"Show boards in calendar/tasks" : "Εμφάνιση πινάκων στο ημερολόγιο / εργασίες",
|
"Show boards in calendar/tasks" : "Εμφάνιση πινάκων στο ημερολόγιο / εργασίες",
|
||||||
"Limit board creation to some groups" : "Περιορισμός της δημιουργίας πινάκων σε ορισμένες ομάδες",
|
"Limit board creation to some groups" : "Περιορισμός της δημιουργίας πινάκων σε ορισμένες ομάδες",
|
||||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Οι χρήστες εκτός αυτών των ομάδων δεν θα μπορούν να δημιουργούν τους δικούς τους πίνακες, αλλά θα μπορούν να εργάζονται σε πίνακες που τους έχουν διαμοιραστεί.",
|
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Οι χρήστες εκτός αυτών των ομάδων δεν θα μπορούν να δημιουργούν τους δικούς τους πίνακες, αλλά θα μπορούν να εργάζονται σε πίνακες που τους έχουν διαμοιραστεί.",
|
||||||
@@ -371,6 +384,7 @@ OC.L10N.register(
|
|||||||
"List is empty" : "Η λίστα είναι κενή",
|
"List is empty" : "Η λίστα είναι κενή",
|
||||||
"Limit deck usage of groups" : "Περιορίστε τη χρήση της εφαρμογής deck σε ομάδες",
|
"Limit deck usage of groups" : "Περιορίστε τη χρήση της εφαρμογής deck σε ομάδες",
|
||||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Ο περιορισμός του Deck θα εμποδίσει τους χρήστες που δεν είναι μέρος αυτών των ομάδων να δημιουργούν δικούς τους πίνακες. Οι χρήστες θα εξακολουθήσουν να εργάζονται σε πίνακες που έχουν διαμοιραστεί μαζί τους.",
|
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Ο περιορισμός του Deck θα εμποδίσει τους χρήστες που δεν είναι μέρος αυτών των ομάδων να δημιουργούν δικούς τους πίνακες. Οι χρήστες θα εξακολουθήσουν να εργάζονται σε πίνακες που έχουν διαμοιραστεί μαζί τους.",
|
||||||
"Not completed" : "Μη ολοκληρωμένο"
|
"Not completed" : "Μη ολοκληρωμένο",
|
||||||
|
"Filter by completed" : "Φίλτρο ανά ολοκλήρωση"
|
||||||
},
|
},
|
||||||
"nplurals=2; plural=(n != 1);");
|
"nplurals=2; plural=(n != 1);");
|
||||||
|
|||||||
16
l10n/el.json
16
l10n/el.json
@@ -35,6 +35,10 @@
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "Ο/η {user} αρχειοθέτησε την κάρτα {card} στην λίστα {stack} του πίνακα {board} ",
|
"{user} has archived card {card} in list {stack} on board {board}" : "Ο/η {user} αρχειοθέτησε την κάρτα {card} στην λίστα {stack} του πίνακα {board} ",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Επαναφέρατε από το αρχείο την καρτέλα {card} της λίστας {stack} του πίνακα {board}",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Επαναφέρατε από το αρχείο την καρτέλα {card} της λίστας {stack} του πίνακα {board}",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "Ο/η {user} επανέφερε από το αρχείο την κάρτα {card} της λίστας {stack} του πίνακα {board}",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "Ο/η {user} επανέφερε από το αρχείο την κάρτα {card} της λίστας {stack} του πίνακα {board}",
|
||||||
|
"You have marked the card {card} as done in list {stack} on board {board}" : "Έχετε επισημάνει την κάρτα {card} ως ολοκληρωμένη στη λίστα {stack} του πίνακα {board}",
|
||||||
|
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user} έχει επισημάνει την κάρτα {card} ως ολοκληρωμένη στη λίστα {stack} του πίνακα {board}",
|
||||||
|
"You have marked the card {card} as undone in list {stack} on board {board}" : "Έχετε επισημάνει την κάρτα {card} ως μη ολοκληρωμένη στη λίστα {stack} του πίνακα {board}",
|
||||||
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} έχει επισημάνει την κάρτα {card} ως μη ολοκληρωμένη στη λίστα {stack} του πίνακα {board}",
|
||||||
"You have removed the due date of card {card}" : "Καταργήσατε την ημερομηνία λήξης της καρτέλας {card}",
|
"You have removed the due date of card {card}" : "Καταργήσατε την ημερομηνία λήξης της καρτέλας {card}",
|
||||||
"{user} has removed the due date of card {card}" : "Ο/η {user} κατάργησε την ημερομηνία λήξης της καρτέλας {card}",
|
"{user} has removed the due date of card {card}" : "Ο/η {user} κατάργησε την ημερομηνία λήξης της καρτέλας {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Ορίσατε την ημερομηνία λήξης της καρτέλας {card} σε {after}",
|
"You have set the due date of card {card} to {after}" : "Ορίσατε την ημερομηνία λήξης της καρτέλας {card} σε {after}",
|
||||||
@@ -82,6 +86,7 @@
|
|||||||
"Deck board" : "Πίνακας του Deck",
|
"Deck board" : "Πίνακας του Deck",
|
||||||
"Owned by %1$s" : "Ανήκει στον/στην %1$s",
|
"Owned by %1$s" : "Ανήκει στον/στην %1$s",
|
||||||
"Deck boards, cards and comments" : "Πίνακες, κάρτες και σχόλια Deck",
|
"Deck boards, cards and comments" : "Πίνακες, κάρτες και σχόλια Deck",
|
||||||
|
"Create a new deck card" : "Δημιουργήστε μια νέα κάρτα",
|
||||||
"Card comments" : "Σχόλια καρτέλας",
|
"Card comments" : "Σχόλια καρτέλας",
|
||||||
"%s on %s" : "%s στο %s",
|
"%s on %s" : "%s στο %s",
|
||||||
"Deck boards and cards" : "Πίνακες και κάρτες Deck",
|
"Deck boards and cards" : "Πίνακες και κάρτες Deck",
|
||||||
@@ -141,6 +146,8 @@
|
|||||||
"Filter by tag" : "Φίλτρο ανά ετικέτα",
|
"Filter by tag" : "Φίλτρο ανά ετικέτα",
|
||||||
"Filter by assigned user" : "Φίλτρο ανά χρήστη",
|
"Filter by assigned user" : "Φίλτρο ανά χρήστη",
|
||||||
"Unassigned" : "Χωρίς ανάθεση",
|
"Unassigned" : "Χωρίς ανάθεση",
|
||||||
|
"Filter by status" : "Φίλτρο με βάση την κατάσταση",
|
||||||
|
"Open and completed" : "Ανοιχτά και ολοκληρωμένα",
|
||||||
"Open" : "Ανοιχτός",
|
"Open" : "Ανοιχτός",
|
||||||
"Completed" : "Ολοκληρωμένες",
|
"Completed" : "Ολοκληρωμένες",
|
||||||
"Filter by due date" : "Φίλτρο ανά ημερομηνία λήξης",
|
"Filter by due date" : "Φίλτρο ανά ημερομηνία λήξης",
|
||||||
@@ -151,6 +158,7 @@
|
|||||||
"No due date" : "Χωρίς ημερομηνία λήξης",
|
"No due date" : "Χωρίς ημερομηνία λήξης",
|
||||||
"Clear filter" : "Εκκαθάριση φίλτρου",
|
"Clear filter" : "Εκκαθάριση φίλτρου",
|
||||||
"View Modes" : "Τρόποι προβολής",
|
"View Modes" : "Τρόποι προβολής",
|
||||||
|
"Toggle View Modes" : "Εναλλαγή τρόπων προβολής",
|
||||||
"Hide archived cards" : "Απόκρυψη καρτελών που αρχειοθετήθηκαν",
|
"Hide archived cards" : "Απόκρυψη καρτελών που αρχειοθετήθηκαν",
|
||||||
"Show archived cards" : "Εμφάνιση καρτελών που αρχειοθετήθηκαν",
|
"Show archived cards" : "Εμφάνιση καρτελών που αρχειοθετήθηκαν",
|
||||||
"Toggle compact mode" : "Εναλλαγή λειτουργίας μικρού μεγέθους",
|
"Toggle compact mode" : "Εναλλαγή λειτουργίας μικρού μεγέθους",
|
||||||
@@ -169,6 +177,8 @@
|
|||||||
"Deleted lists" : "Διαγραμμένες λίστες",
|
"Deleted lists" : "Διαγραμμένες λίστες",
|
||||||
"Undo" : "Αναίρεση",
|
"Undo" : "Αναίρεση",
|
||||||
"Deleted cards" : "Διαγραμμένες καρτέλες",
|
"Deleted cards" : "Διαγραμμένες καρτέλες",
|
||||||
|
"Share board with a user, group or team …" : "Κοινή χρήση πίνακα με έναν χρήστη, μια ομάδα ή team ...",
|
||||||
|
"Searching for users, groups and teams …" : "Αναζήτηση χρηστών, ομάδων και teams …",
|
||||||
"No participants found" : "Δε βρέθηκαν συμμετέχοντες",
|
"No participants found" : "Δε βρέθηκαν συμμετέχοντες",
|
||||||
"Board owner" : "Κάτοχος πίνακα",
|
"Board owner" : "Κάτοχος πίνακα",
|
||||||
"(Group)" : "(Ομάδα)",
|
"(Group)" : "(Ομάδα)",
|
||||||
@@ -198,6 +208,7 @@
|
|||||||
"title and color value must be provided" : "ο τίτλος και η τιμή χρώματος πρέπει να παρέχονται",
|
"title and color value must be provided" : "ο τίτλος και η τιμή χρώματος πρέπει να παρέχονται",
|
||||||
"Board name" : "Όνομα πίνακα",
|
"Board name" : "Όνομα πίνακα",
|
||||||
"Members" : "Μέλη",
|
"Members" : "Μέλη",
|
||||||
|
"Assign to users/groups/team" : "Ανάθεση σε χρήστες/ομάδες/teams",
|
||||||
"Assign a user to this card…" : "Ανάθεση χρήστη στην καρτέλα...",
|
"Assign a user to this card…" : "Ανάθεση χρήστη στην καρτέλα...",
|
||||||
"Select a user to assign to this card…" : "Επιλέξτε έναν χρήστη για να του αναθέσετε αυτή την κάρτα...",
|
"Select a user to assign to this card…" : "Επιλέξτε έναν χρήστη για να του αναθέσετε αυτή την κάρτα...",
|
||||||
"Upload new files" : "Ανεβάστε νέα αρχεία",
|
"Upload new files" : "Ανεβάστε νέα αρχεία",
|
||||||
@@ -244,6 +255,7 @@
|
|||||||
"Remove due date" : "Αφαίρεση ημερομηνίας λήξης",
|
"Remove due date" : "Αφαίρεση ημερομηνίας λήξης",
|
||||||
"Mark as done" : "Σήμανση ως ολοκληρωμένου",
|
"Mark as done" : "Σήμανση ως ολοκληρωμένου",
|
||||||
"Due at:" : "Λήγει στις:",
|
"Due at:" : "Λήγει στις:",
|
||||||
|
"Not done" : "Μη ολοκληρωμένο",
|
||||||
"Unarchive card" : "Αναίρεση αρχειοθέτησης καρτέλας",
|
"Unarchive card" : "Αναίρεση αρχειοθέτησης καρτέλας",
|
||||||
"Archive card" : "Αρχειοθέτηση καρτέλας",
|
"Archive card" : "Αρχειοθέτηση καρτέλας",
|
||||||
"Select Date" : "Επιλέξτε ημερομηνία",
|
"Select Date" : "Επιλέξτε ημερομηνία",
|
||||||
@@ -297,6 +309,7 @@
|
|||||||
"Shared with you" : "Διαμοιρασμένα μαζί σας",
|
"Shared with you" : "Διαμοιρασμένα μαζί σας",
|
||||||
"Deck settings" : "Ρυθμίσεις Deck",
|
"Deck settings" : "Ρυθμίσεις Deck",
|
||||||
"Use bigger card view" : "Χρησιμοποιήστε μεγαλύτερη προβολή καρτέλας",
|
"Use bigger card view" : "Χρησιμοποιήστε μεγαλύτερη προβολή καρτέλας",
|
||||||
|
"Show card ID badge" : "Εμφάνιση ID κάρτας",
|
||||||
"Show boards in calendar/tasks" : "Εμφάνιση πινάκων στο ημερολόγιο / εργασίες",
|
"Show boards in calendar/tasks" : "Εμφάνιση πινάκων στο ημερολόγιο / εργασίες",
|
||||||
"Limit board creation to some groups" : "Περιορισμός της δημιουργίας πινάκων σε ορισμένες ομάδες",
|
"Limit board creation to some groups" : "Περιορισμός της δημιουργίας πινάκων σε ορισμένες ομάδες",
|
||||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Οι χρήστες εκτός αυτών των ομάδων δεν θα μπορούν να δημιουργούν τους δικούς τους πίνακες, αλλά θα μπορούν να εργάζονται σε πίνακες που τους έχουν διαμοιραστεί.",
|
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Οι χρήστες εκτός αυτών των ομάδων δεν θα μπορούν να δημιουργούν τους δικούς τους πίνακες, αλλά θα μπορούν να εργάζονται σε πίνακες που τους έχουν διαμοιραστεί.",
|
||||||
@@ -369,6 +382,7 @@
|
|||||||
"List is empty" : "Η λίστα είναι κενή",
|
"List is empty" : "Η λίστα είναι κενή",
|
||||||
"Limit deck usage of groups" : "Περιορίστε τη χρήση της εφαρμογής deck σε ομάδες",
|
"Limit deck usage of groups" : "Περιορίστε τη χρήση της εφαρμογής deck σε ομάδες",
|
||||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Ο περιορισμός του Deck θα εμποδίσει τους χρήστες που δεν είναι μέρος αυτών των ομάδων να δημιουργούν δικούς τους πίνακες. Οι χρήστες θα εξακολουθήσουν να εργάζονται σε πίνακες που έχουν διαμοιραστεί μαζί τους.",
|
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Ο περιορισμός του Deck θα εμποδίσει τους χρήστες που δεν είναι μέρος αυτών των ομάδων να δημιουργούν δικούς τους πίνακες. Οι χρήστες θα εξακολουθήσουν να εργάζονται σε πίνακες που έχουν διαμοιραστεί μαζί τους.",
|
||||||
"Not completed" : "Μη ολοκληρωμένο"
|
"Not completed" : "Μη ολοκληρωμένο",
|
||||||
|
"Filter by completed" : "Φίλτρο ανά ολοκλήρωση"
|
||||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||||
}
|
}
|
||||||
@@ -28,9 +28,11 @@ OC.L10N.register(
|
|||||||
"Do you want to overwrite it?" : "¿Deseas sobre escribirlo?",
|
"Do you want to overwrite it?" : "¿Deseas sobre escribirlo?",
|
||||||
"Drop your files to upload" : "Arrastre sus archivos para cargar",
|
"Drop your files to upload" : "Arrastre sus archivos para cargar",
|
||||||
"Add card" : "Agregar tarjeta",
|
"Add card" : "Agregar tarjeta",
|
||||||
|
"Active filters" : "Filtros activos",
|
||||||
"Filter by tag" : "Filtrar por etiqueta",
|
"Filter by tag" : "Filtrar por etiqueta",
|
||||||
"Open" : "Abrir",
|
"Open" : "Abrir",
|
||||||
"Completed" : "Completado",
|
"Completed" : "Completado",
|
||||||
|
"Clear filter" : "Limpiar filtro",
|
||||||
"Hide archived cards" : "Ocultar tarjetas archivadas",
|
"Hide archived cards" : "Ocultar tarjetas archivadas",
|
||||||
"Show archived cards" : "Mostrar tarjetas archivadas",
|
"Show archived cards" : "Mostrar tarjetas archivadas",
|
||||||
"Open details" : "Abrir detalles",
|
"Open details" : "Abrir detalles",
|
||||||
@@ -85,12 +87,15 @@ OC.L10N.register(
|
|||||||
"Archive board" : "Archivar tablero",
|
"Archive board" : "Archivar tablero",
|
||||||
"No notifications" : "No hay notificaciones",
|
"No notifications" : "No hay notificaciones",
|
||||||
"Delete board" : "Borrar tableros",
|
"Delete board" : "Borrar tableros",
|
||||||
|
"No reminder" : "Sin recordatorio",
|
||||||
"An error occurred" : "Ha ocurrido un error",
|
"An error occurred" : "Ha ocurrido un error",
|
||||||
"Today" : "Hoy",
|
"Today" : "Hoy",
|
||||||
"Tomorrow" : "Mañana",
|
"Tomorrow" : "Mañana",
|
||||||
"Close" : "Cerrar",
|
"Close" : "Cerrar",
|
||||||
"Error creating the share" : "Error creando el recurso compartido",
|
"Error creating the share" : "Error creando el recurso compartido",
|
||||||
"Share" : "Compartir",
|
"Share" : "Compartir",
|
||||||
"Searching for users, groups and circles …" : "Buscando usuarios, grupos y círculos …"
|
"Searching for users, groups and circles …" : "Buscando usuarios, grupos y círculos …",
|
||||||
|
"Next week" : "Semana siguiente",
|
||||||
|
"Next month" : "Próximo mes"
|
||||||
},
|
},
|
||||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||||
|
|||||||
@@ -26,9 +26,11 @@
|
|||||||
"Do you want to overwrite it?" : "¿Deseas sobre escribirlo?",
|
"Do you want to overwrite it?" : "¿Deseas sobre escribirlo?",
|
||||||
"Drop your files to upload" : "Arrastre sus archivos para cargar",
|
"Drop your files to upload" : "Arrastre sus archivos para cargar",
|
||||||
"Add card" : "Agregar tarjeta",
|
"Add card" : "Agregar tarjeta",
|
||||||
|
"Active filters" : "Filtros activos",
|
||||||
"Filter by tag" : "Filtrar por etiqueta",
|
"Filter by tag" : "Filtrar por etiqueta",
|
||||||
"Open" : "Abrir",
|
"Open" : "Abrir",
|
||||||
"Completed" : "Completado",
|
"Completed" : "Completado",
|
||||||
|
"Clear filter" : "Limpiar filtro",
|
||||||
"Hide archived cards" : "Ocultar tarjetas archivadas",
|
"Hide archived cards" : "Ocultar tarjetas archivadas",
|
||||||
"Show archived cards" : "Mostrar tarjetas archivadas",
|
"Show archived cards" : "Mostrar tarjetas archivadas",
|
||||||
"Open details" : "Abrir detalles",
|
"Open details" : "Abrir detalles",
|
||||||
@@ -83,12 +85,15 @@
|
|||||||
"Archive board" : "Archivar tablero",
|
"Archive board" : "Archivar tablero",
|
||||||
"No notifications" : "No hay notificaciones",
|
"No notifications" : "No hay notificaciones",
|
||||||
"Delete board" : "Borrar tableros",
|
"Delete board" : "Borrar tableros",
|
||||||
|
"No reminder" : "Sin recordatorio",
|
||||||
"An error occurred" : "Ha ocurrido un error",
|
"An error occurred" : "Ha ocurrido un error",
|
||||||
"Today" : "Hoy",
|
"Today" : "Hoy",
|
||||||
"Tomorrow" : "Mañana",
|
"Tomorrow" : "Mañana",
|
||||||
"Close" : "Cerrar",
|
"Close" : "Cerrar",
|
||||||
"Error creating the share" : "Error creando el recurso compartido",
|
"Error creating the share" : "Error creando el recurso compartido",
|
||||||
"Share" : "Compartir",
|
"Share" : "Compartir",
|
||||||
"Searching for users, groups and circles …" : "Buscando usuarios, grupos y círculos …"
|
"Searching for users, groups and circles …" : "Buscando usuarios, grupos y círculos …",
|
||||||
|
"Next week" : "Semana siguiente",
|
||||||
|
"Next month" : "Próximo mes"
|
||||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||||
}
|
}
|
||||||
@@ -321,16 +321,16 @@ OC.L10N.register(
|
|||||||
"Unarchive board" : "Atera taula artxibotik",
|
"Unarchive board" : "Atera taula artxibotik",
|
||||||
"Archive board" : "Artxibatu taula",
|
"Archive board" : "Artxibatu taula",
|
||||||
"Export board" : "Esportatu taula",
|
"Export board" : "Esportatu taula",
|
||||||
"Turn on due date reminders" : "Aktibatu epemugako abisuak",
|
"Turn on due date reminders" : "Aktibatu epemuga gogorarazpenak",
|
||||||
"Turn off due date reminders" : "Desaktibatu epemugako abisuak",
|
"Turn off due date reminders" : "Desaktibatu epemuga gogorarazpenak",
|
||||||
"Due date reminders" : "Epemugako abisuak",
|
"Due date reminders" : "Epemuga gogorarazpenak",
|
||||||
"All cards" : "Txartel guztiak",
|
"All cards" : "Txartel guztiak",
|
||||||
"Assigned cards" : "Esleitutako txartelak",
|
"Assigned cards" : "Esleitutako txartelak",
|
||||||
"No notifications" : "Jakinarazpenik ez",
|
"No notifications" : "Jakinarazpenik ez",
|
||||||
"Delete board" : "Ezabatu taula",
|
"Delete board" : "Ezabatu taula",
|
||||||
"Board {0} deleted" : "{0} taula ezabatu da",
|
"Board {0} deleted" : "{0} taula ezabatu da",
|
||||||
"Only assigned cards" : "Bakarrik esleitutako txartelak",
|
"Only assigned cards" : "Bakarrik esleitutako txartelak",
|
||||||
"No reminder" : "Abisurik ez",
|
"No reminder" : "Gogorarazpenik ez",
|
||||||
"An error occurred" : "Errore bat gertatu da",
|
"An error occurred" : "Errore bat gertatu da",
|
||||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ziur zaude {title} taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu, artxibatutako txartelak barne.",
|
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ziur zaude {title} taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu, artxibatutako txartelak barne.",
|
||||||
"Delete the board?" : "Taula ezabatu?",
|
"Delete the board?" : "Taula ezabatu?",
|
||||||
|
|||||||
@@ -319,16 +319,16 @@
|
|||||||
"Unarchive board" : "Atera taula artxibotik",
|
"Unarchive board" : "Atera taula artxibotik",
|
||||||
"Archive board" : "Artxibatu taula",
|
"Archive board" : "Artxibatu taula",
|
||||||
"Export board" : "Esportatu taula",
|
"Export board" : "Esportatu taula",
|
||||||
"Turn on due date reminders" : "Aktibatu epemugako abisuak",
|
"Turn on due date reminders" : "Aktibatu epemuga gogorarazpenak",
|
||||||
"Turn off due date reminders" : "Desaktibatu epemugako abisuak",
|
"Turn off due date reminders" : "Desaktibatu epemuga gogorarazpenak",
|
||||||
"Due date reminders" : "Epemugako abisuak",
|
"Due date reminders" : "Epemuga gogorarazpenak",
|
||||||
"All cards" : "Txartel guztiak",
|
"All cards" : "Txartel guztiak",
|
||||||
"Assigned cards" : "Esleitutako txartelak",
|
"Assigned cards" : "Esleitutako txartelak",
|
||||||
"No notifications" : "Jakinarazpenik ez",
|
"No notifications" : "Jakinarazpenik ez",
|
||||||
"Delete board" : "Ezabatu taula",
|
"Delete board" : "Ezabatu taula",
|
||||||
"Board {0} deleted" : "{0} taula ezabatu da",
|
"Board {0} deleted" : "{0} taula ezabatu da",
|
||||||
"Only assigned cards" : "Bakarrik esleitutako txartelak",
|
"Only assigned cards" : "Bakarrik esleitutako txartelak",
|
||||||
"No reminder" : "Abisurik ez",
|
"No reminder" : "Gogorarazpenik ez",
|
||||||
"An error occurred" : "Errore bat gertatu da",
|
"An error occurred" : "Errore bat gertatu da",
|
||||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ziur zaude {title} taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu, artxibatutako txartelak barne.",
|
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ziur zaude {title} taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu, artxibatutako txartelak barne.",
|
||||||
"Delete the board?" : "Taula ezabatu?",
|
"Delete the board?" : "Taula ezabatu?",
|
||||||
|
|||||||
@@ -110,6 +110,7 @@ OC.L10N.register(
|
|||||||
"Archived cards" : "Arkistoidut kortit",
|
"Archived cards" : "Arkistoidut kortit",
|
||||||
"Add list" : "Lisää lista",
|
"Add list" : "Lisää lista",
|
||||||
"List name" : "Listan nimi",
|
"List name" : "Listan nimi",
|
||||||
|
"Active filters" : "Aktiiviset suodattimet",
|
||||||
"Apply filter" : "Toteuta suodatus",
|
"Apply filter" : "Toteuta suodatus",
|
||||||
"Filter by tag" : "Suodata tunnisteen perusteella",
|
"Filter by tag" : "Suodata tunnisteen perusteella",
|
||||||
"Filter by assigned user" : "Suodata määritetyn käyttäjän mukaan",
|
"Filter by assigned user" : "Suodata määritetyn käyttäjän mukaan",
|
||||||
|
|||||||
@@ -108,6 +108,7 @@
|
|||||||
"Archived cards" : "Arkistoidut kortit",
|
"Archived cards" : "Arkistoidut kortit",
|
||||||
"Add list" : "Lisää lista",
|
"Add list" : "Lisää lista",
|
||||||
"List name" : "Listan nimi",
|
"List name" : "Listan nimi",
|
||||||
|
"Active filters" : "Aktiiviset suodattimet",
|
||||||
"Apply filter" : "Toteuta suodatus",
|
"Apply filter" : "Toteuta suodatus",
|
||||||
"Filter by tag" : "Suodata tunnisteen perusteella",
|
"Filter by tag" : "Suodata tunnisteen perusteella",
|
||||||
"Filter by assigned user" : "Suodata määritetyn käyttäjän mukaan",
|
"Filter by assigned user" : "Suodata määritetyn käyttäjän mukaan",
|
||||||
|
|||||||
12
l10n/gl.js
12
l10n/gl.js
@@ -43,8 +43,8 @@ OC.L10N.register(
|
|||||||
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} marcou a tarxeta {card} como sen facer na lista {stack} no taboleiro {board}",
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} marcou a tarxeta {card} como sen facer na lista {stack} no taboleiro {board}",
|
||||||
"You have removed the due date of card {card}" : "Vde. retirou a caducidade da tarxeta {card}",
|
"You have removed the due date of card {card}" : "Vde. retirou a caducidade da tarxeta {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} retirou a caducidade da tarxeta {card}",
|
"{user} has removed the due date of card {card}" : "{user} retirou a caducidade da tarxeta {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Vde. estabeleceu a caducidade da tarxeta {card} a {after}",
|
"You have set the due date of card {card} to {after}" : "Vde. definiu a caducidade da tarxeta {card} a {after}",
|
||||||
"{user} has set the due date of card {card} to {after}" : "{user} estabeleceu a caducidade da tarxeta {card} a {after}",
|
"{user} has set the due date of card {card} to {after}" : "{user} definiu a caducidade da tarxeta {card} a {after}",
|
||||||
"You have updated the due date of card {card} to {after}" : "Vde. actualizou a caducidade da tarxeta {card} a {after}",
|
"You have updated the due date of card {card} to {after}" : "Vde. actualizou a caducidade da tarxeta {card} a {after}",
|
||||||
"{user} has updated the due date of card {card} to {after}" : "{user} actualizou a caducidade da tarxeta {card} a {after}",
|
"{user} has updated the due date of card {card} to {after}" : "{user} actualizou a caducidade da tarxeta {card} a {after}",
|
||||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vde. engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vde. engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
@@ -117,7 +117,7 @@ OC.L10N.register(
|
|||||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario ten máis de %s caracteres.\nEngadido como anexo á tarxeta co nome %s.\nAccesíbel no URL: %s.",
|
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario ten máis de %s caracteres.\nEngadido como anexo á tarxeta co nome %s.\nAccesíbel no URL: %s.",
|
||||||
"Card not found" : "Non se atopou a tarxeta",
|
"Card not found" : "Non se atopou a tarxeta",
|
||||||
"Path is already shared with this card" : "A ruta xa está compartida con esta tarxeta",
|
"Path is already shared with this card" : "A ruta xa está compartida con esta tarxeta",
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da date debe ser AAAA-MM-DD",
|
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da data debe ser AAAA-MM-DD",
|
||||||
"Personal planning and team project organization" : "Planificación persoal e organización de proxectos de equipo",
|
"Personal planning and team project organization" : "Planificación persoal e organización de proxectos de equipo",
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Gabeta é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n– 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n– 📄 Escriba notas adicionais en Markdown\n– 🔖 Asigne etiquetas para unha mellor organización\n– 👥 Comparta co seu equipo, amigos ou a súa familia\n– 📎 Anexe ficheiros e integreos na súa descrición de Markdown\n– 💬 Debata co seu equipo usando os comentarios\n– ⚡ Faga un seguimento dos cambios no fluxo de actividade\n– 🚀 Teña o seu proxecto organizado",
|
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Gabeta é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n– 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n– 📄 Escriba notas adicionais en Markdown\n– 🔖 Asigne etiquetas para unha mellor organización\n– 👥 Comparta co seu equipo, amigos ou a súa familia\n– 📎 Anexe ficheiros e integreos na súa descrición de Markdown\n– 💬 Debata co seu equipo usando os comentarios\n– ⚡ Faga un seguimento dos cambios no fluxo de actividade\n– 🚀 Teña o seu proxecto organizado",
|
||||||
"Add board" : "Engadir taboleiro",
|
"Add board" : "Engadir taboleiro",
|
||||||
@@ -150,8 +150,8 @@ OC.L10N.register(
|
|||||||
"Filter by assigned user" : "Filtrar polo usuario asignado",
|
"Filter by assigned user" : "Filtrar polo usuario asignado",
|
||||||
"Unassigned" : "Sen asignar",
|
"Unassigned" : "Sen asignar",
|
||||||
"Filter by status" : "Filtrar polo estado",
|
"Filter by status" : "Filtrar polo estado",
|
||||||
"Open and completed" : "Aberto e rematado",
|
"Open and completed" : "Aberto ou rematado",
|
||||||
"Open" : "Abrir",
|
"Open" : "Aberto",
|
||||||
"Completed" : "Completado",
|
"Completed" : "Completado",
|
||||||
"Filter by due date" : "Filtrar pola data de caducidade",
|
"Filter by due date" : "Filtrar pola data de caducidade",
|
||||||
"Overdue" : "Caducado",
|
"Overdue" : "Caducado",
|
||||||
@@ -252,7 +252,7 @@ OC.L10N.register(
|
|||||||
"Write a description …" : "Escriba unha descrición…",
|
"Write a description …" : "Escriba unha descrición…",
|
||||||
"Choose attachment" : "Escoller o anexo",
|
"Choose attachment" : "Escoller o anexo",
|
||||||
"Assign a due date to this card…" : "Asignar unha data de caducidade a esta tarxeta…",
|
"Assign a due date to this card…" : "Asignar unha data de caducidade a esta tarxeta…",
|
||||||
"Set a due date" : "Estabelecer a data de caducidade",
|
"Set a due date" : "Definir a data de caducidade",
|
||||||
"Add due date" : "Engadir a data de remate",
|
"Add due date" : "Engadir a data de remate",
|
||||||
"Choose a date" : "Escoller a data",
|
"Choose a date" : "Escoller a data",
|
||||||
"Remove due date" : "Retirar a data de caducidade",
|
"Remove due date" : "Retirar a data de caducidade",
|
||||||
|
|||||||
12
l10n/gl.json
12
l10n/gl.json
@@ -41,8 +41,8 @@
|
|||||||
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} marcou a tarxeta {card} como sen facer na lista {stack} no taboleiro {board}",
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} marcou a tarxeta {card} como sen facer na lista {stack} no taboleiro {board}",
|
||||||
"You have removed the due date of card {card}" : "Vde. retirou a caducidade da tarxeta {card}",
|
"You have removed the due date of card {card}" : "Vde. retirou a caducidade da tarxeta {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} retirou a caducidade da tarxeta {card}",
|
"{user} has removed the due date of card {card}" : "{user} retirou a caducidade da tarxeta {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Vde. estabeleceu a caducidade da tarxeta {card} a {after}",
|
"You have set the due date of card {card} to {after}" : "Vde. definiu a caducidade da tarxeta {card} a {after}",
|
||||||
"{user} has set the due date of card {card} to {after}" : "{user} estabeleceu a caducidade da tarxeta {card} a {after}",
|
"{user} has set the due date of card {card} to {after}" : "{user} definiu a caducidade da tarxeta {card} a {after}",
|
||||||
"You have updated the due date of card {card} to {after}" : "Vde. actualizou a caducidade da tarxeta {card} a {after}",
|
"You have updated the due date of card {card} to {after}" : "Vde. actualizou a caducidade da tarxeta {card} a {after}",
|
||||||
"{user} has updated the due date of card {card} to {after}" : "{user} actualizou a caducidade da tarxeta {card} a {after}",
|
"{user} has updated the due date of card {card} to {after}" : "{user} actualizou a caducidade da tarxeta {card} a {after}",
|
||||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vde. engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vde. engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario ten máis de %s caracteres.\nEngadido como anexo á tarxeta co nome %s.\nAccesíbel no URL: %s.",
|
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario ten máis de %s caracteres.\nEngadido como anexo á tarxeta co nome %s.\nAccesíbel no URL: %s.",
|
||||||
"Card not found" : "Non se atopou a tarxeta",
|
"Card not found" : "Non se atopou a tarxeta",
|
||||||
"Path is already shared with this card" : "A ruta xa está compartida con esta tarxeta",
|
"Path is already shared with this card" : "A ruta xa está compartida con esta tarxeta",
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da date debe ser AAAA-MM-DD",
|
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da data debe ser AAAA-MM-DD",
|
||||||
"Personal planning and team project organization" : "Planificación persoal e organización de proxectos de equipo",
|
"Personal planning and team project organization" : "Planificación persoal e organización de proxectos de equipo",
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Gabeta é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n– 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n– 📄 Escriba notas adicionais en Markdown\n– 🔖 Asigne etiquetas para unha mellor organización\n– 👥 Comparta co seu equipo, amigos ou a súa familia\n– 📎 Anexe ficheiros e integreos na súa descrición de Markdown\n– 💬 Debata co seu equipo usando os comentarios\n– ⚡ Faga un seguimento dos cambios no fluxo de actividade\n– 🚀 Teña o seu proxecto organizado",
|
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Gabeta é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n– 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n– 📄 Escriba notas adicionais en Markdown\n– 🔖 Asigne etiquetas para unha mellor organización\n– 👥 Comparta co seu equipo, amigos ou a súa familia\n– 📎 Anexe ficheiros e integreos na súa descrición de Markdown\n– 💬 Debata co seu equipo usando os comentarios\n– ⚡ Faga un seguimento dos cambios no fluxo de actividade\n– 🚀 Teña o seu proxecto organizado",
|
||||||
"Add board" : "Engadir taboleiro",
|
"Add board" : "Engadir taboleiro",
|
||||||
@@ -148,8 +148,8 @@
|
|||||||
"Filter by assigned user" : "Filtrar polo usuario asignado",
|
"Filter by assigned user" : "Filtrar polo usuario asignado",
|
||||||
"Unassigned" : "Sen asignar",
|
"Unassigned" : "Sen asignar",
|
||||||
"Filter by status" : "Filtrar polo estado",
|
"Filter by status" : "Filtrar polo estado",
|
||||||
"Open and completed" : "Aberto e rematado",
|
"Open and completed" : "Aberto ou rematado",
|
||||||
"Open" : "Abrir",
|
"Open" : "Aberto",
|
||||||
"Completed" : "Completado",
|
"Completed" : "Completado",
|
||||||
"Filter by due date" : "Filtrar pola data de caducidade",
|
"Filter by due date" : "Filtrar pola data de caducidade",
|
||||||
"Overdue" : "Caducado",
|
"Overdue" : "Caducado",
|
||||||
@@ -250,7 +250,7 @@
|
|||||||
"Write a description …" : "Escriba unha descrición…",
|
"Write a description …" : "Escriba unha descrición…",
|
||||||
"Choose attachment" : "Escoller o anexo",
|
"Choose attachment" : "Escoller o anexo",
|
||||||
"Assign a due date to this card…" : "Asignar unha data de caducidade a esta tarxeta…",
|
"Assign a due date to this card…" : "Asignar unha data de caducidade a esta tarxeta…",
|
||||||
"Set a due date" : "Estabelecer a data de caducidade",
|
"Set a due date" : "Definir a data de caducidade",
|
||||||
"Add due date" : "Engadir a data de remate",
|
"Add due date" : "Engadir a data de remate",
|
||||||
"Choose a date" : "Escoller a data",
|
"Choose a date" : "Escoller a data",
|
||||||
"Remove due date" : "Retirar a data de caducidade",
|
"Remove due date" : "Retirar a data de caducidade",
|
||||||
|
|||||||
@@ -174,6 +174,7 @@ OC.L10N.register(
|
|||||||
"Deleted lists" : "Törölt listák",
|
"Deleted lists" : "Törölt listák",
|
||||||
"Undo" : "Visszavonás",
|
"Undo" : "Visszavonás",
|
||||||
"Deleted cards" : "Törölt kártyák",
|
"Deleted cards" : "Törölt kártyák",
|
||||||
|
"Searching for users, groups and teams …" : "Felhasználók, csoportok és csapatok keresése…",
|
||||||
"No participants found" : "Nem találhatók résztvevők",
|
"No participants found" : "Nem találhatók résztvevők",
|
||||||
"Board owner" : "Tábla tulajdonosa",
|
"Board owner" : "Tábla tulajdonosa",
|
||||||
"(Group)" : "(Csoport)",
|
"(Group)" : "(Csoport)",
|
||||||
|
|||||||
@@ -172,6 +172,7 @@
|
|||||||
"Deleted lists" : "Törölt listák",
|
"Deleted lists" : "Törölt listák",
|
||||||
"Undo" : "Visszavonás",
|
"Undo" : "Visszavonás",
|
||||||
"Deleted cards" : "Törölt kártyák",
|
"Deleted cards" : "Törölt kártyák",
|
||||||
|
"Searching for users, groups and teams …" : "Felhasználók, csoportok és csapatok keresése…",
|
||||||
"No participants found" : "Nem találhatók résztvevők",
|
"No participants found" : "Nem találhatók résztvevők",
|
||||||
"Board owner" : "Tábla tulajdonosa",
|
"Board owner" : "Tábla tulajdonosa",
|
||||||
"(Group)" : "(Csoport)",
|
"(Group)" : "(Csoport)",
|
||||||
|
|||||||
@@ -37,6 +37,10 @@ OC.L10N.register(
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user}がボード{board}のリスト{stack}にカード{card}をアーカイブしました",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user}がボード{board}のリスト{stack}にカード{card}をアーカイブしました",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "ボード {board}のリスト {stack}にあるカード {card} をアーカイブ解除しました",
|
"You have unarchived card {card} in list {stack} on board {board}" : "ボード {board}のリスト {stack}にあるカード {card} をアーカイブ解除しました",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user}がボード {board}のリスト {stack}にあるカード {card} をアーカイブ解除しました",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user}がボード {board}のリスト {stack}にあるカード {card} をアーカイブ解除しました",
|
||||||
|
"You have marked the card {card} as done in list {stack} on board {board}" : "ボード{board}のリスト{stack}で、カード{card}に完了のマークを付けました。",
|
||||||
|
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user}は、ボード{board}のリスト{stack}で、カード{card}に完了のマークを付けました。",
|
||||||
|
"You have marked the card {card} as undone in list {stack} on board {board}" : "ボード{board}のリスト{stack}でカード{card}に未完成のマークを付けました。",
|
||||||
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user}は、ボード{board}のリスト{stack}でカード{card}に未完成のマークを付けました。",
|
||||||
"You have removed the due date of card {card}" : "カード{card}の期日を削除しました",
|
"You have removed the due date of card {card}" : "カード{card}の期日を削除しました",
|
||||||
"{user} has removed the due date of card {card}" : "{user}がカード{card}の期日を削除しました",
|
"{user} has removed the due date of card {card}" : "{user}がカード{card}の期日を削除しました",
|
||||||
"You have set the due date of card {card} to {after}" : "カード{card}の期日を{after}に設定しました",
|
"You have set the due date of card {card} to {after}" : "カード{card}の期日を{after}に設定しました",
|
||||||
@@ -145,6 +149,7 @@ OC.L10N.register(
|
|||||||
"Filter by tag" : "タグによるフィルター",
|
"Filter by tag" : "タグによるフィルター",
|
||||||
"Filter by assigned user" : "割当ユーザーでフィルター",
|
"Filter by assigned user" : "割当ユーザーでフィルター",
|
||||||
"Unassigned" : "未割り当て",
|
"Unassigned" : "未割り当て",
|
||||||
|
"Filter by status" : "ステータスによるフィルター",
|
||||||
"Open and completed" : "開いて完成",
|
"Open and completed" : "開いて完成",
|
||||||
"Open" : "開く",
|
"Open" : "開く",
|
||||||
"Completed" : "完了",
|
"Completed" : "完了",
|
||||||
@@ -310,6 +315,7 @@ OC.L10N.register(
|
|||||||
"Show card ID badge" : "カードIDバジを表示",
|
"Show card ID badge" : "カードIDバジを表示",
|
||||||
"Show boards in calendar/tasks" : "カレンダー/タスクでボードを表示する",
|
"Show boards in calendar/tasks" : "カレンダー/タスクでボードを表示する",
|
||||||
"Limit board creation to some groups" : "ボード作成は一部のグループに制限する",
|
"Limit board creation to some groups" : "ボード作成は一部のグループに制限する",
|
||||||
|
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "これらのグループ以外のユーザーは、独自のボードを作成することはできませんが、共有されているボードで作業することはできます。",
|
||||||
"Board details" : "ボードの詳細",
|
"Board details" : "ボードの詳細",
|
||||||
"Edit board" : "ボードを編集",
|
"Edit board" : "ボードを編集",
|
||||||
"Clone board" : "ボードを複製",
|
"Clone board" : "ボードを複製",
|
||||||
@@ -327,6 +333,7 @@ OC.L10N.register(
|
|||||||
"Only assigned cards" : "割り当てられたカードのみ",
|
"Only assigned cards" : "割り当てられたカードのみ",
|
||||||
"No reminder" : "リマインダーなし",
|
"No reminder" : "リマインダーなし",
|
||||||
"An error occurred" : "エラーが発生しました",
|
"An error occurred" : "エラーが発生しました",
|
||||||
|
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "ボード{title}を削除しますか? これにより、アーカイブされたカードを含むこのボードのすべてのデータが削除されます。",
|
||||||
"Delete the board?" : "ボードを削除しますか?",
|
"Delete the board?" : "ボードを削除しますか?",
|
||||||
"Loading filtered view" : "フィルタされたビューを読み込み中",
|
"Loading filtered view" : "フィルタされたビューを読み込み中",
|
||||||
"Today" : "今日",
|
"Today" : "今日",
|
||||||
@@ -338,6 +345,7 @@ OC.L10N.register(
|
|||||||
"Deck board {name}\n* Last modified on {lastMod}" : "デッキボード{name}\n最終更新日:{lastMod}",
|
"Deck board {name}\n* Last modified on {lastMod}" : "デッキボード{name}\n最終更新日:{lastMod}",
|
||||||
"{stack} in {board}" : "{board} 内の {stack}",
|
"{stack} in {board}" : "{board} 内の {stack}",
|
||||||
"Click to expand description" : "説明を展開するにはクリックしてください",
|
"Click to expand description" : "説明を展開するにはクリックしてください",
|
||||||
|
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 作成: {created}\n* 最終変更: {lastMod}\n* {nbAttachments} 添付ファイル\n* {nbComments} コメント",
|
||||||
"{nbCards} cards" : "{nbCards} カード",
|
"{nbCards} cards" : "{nbCards} カード",
|
||||||
"Click to expand comment" : "コメントを展開するにはクリックしてください",
|
"Click to expand comment" : "コメントを展開するにはクリックしてください",
|
||||||
"Create a new card" : "新しいカードを作成する",
|
"Create a new card" : "新しいカードを作成する",
|
||||||
|
|||||||
@@ -35,6 +35,10 @@
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user}がボード{board}のリスト{stack}にカード{card}をアーカイブしました",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user}がボード{board}のリスト{stack}にカード{card}をアーカイブしました",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "ボード {board}のリスト {stack}にあるカード {card} をアーカイブ解除しました",
|
"You have unarchived card {card} in list {stack} on board {board}" : "ボード {board}のリスト {stack}にあるカード {card} をアーカイブ解除しました",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user}がボード {board}のリスト {stack}にあるカード {card} をアーカイブ解除しました",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user}がボード {board}のリスト {stack}にあるカード {card} をアーカイブ解除しました",
|
||||||
|
"You have marked the card {card} as done in list {stack} on board {board}" : "ボード{board}のリスト{stack}で、カード{card}に完了のマークを付けました。",
|
||||||
|
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user}は、ボード{board}のリスト{stack}で、カード{card}に完了のマークを付けました。",
|
||||||
|
"You have marked the card {card} as undone in list {stack} on board {board}" : "ボード{board}のリスト{stack}でカード{card}に未完成のマークを付けました。",
|
||||||
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user}は、ボード{board}のリスト{stack}でカード{card}に未完成のマークを付けました。",
|
||||||
"You have removed the due date of card {card}" : "カード{card}の期日を削除しました",
|
"You have removed the due date of card {card}" : "カード{card}の期日を削除しました",
|
||||||
"{user} has removed the due date of card {card}" : "{user}がカード{card}の期日を削除しました",
|
"{user} has removed the due date of card {card}" : "{user}がカード{card}の期日を削除しました",
|
||||||
"You have set the due date of card {card} to {after}" : "カード{card}の期日を{after}に設定しました",
|
"You have set the due date of card {card} to {after}" : "カード{card}の期日を{after}に設定しました",
|
||||||
@@ -143,6 +147,7 @@
|
|||||||
"Filter by tag" : "タグによるフィルター",
|
"Filter by tag" : "タグによるフィルター",
|
||||||
"Filter by assigned user" : "割当ユーザーでフィルター",
|
"Filter by assigned user" : "割当ユーザーでフィルター",
|
||||||
"Unassigned" : "未割り当て",
|
"Unassigned" : "未割り当て",
|
||||||
|
"Filter by status" : "ステータスによるフィルター",
|
||||||
"Open and completed" : "開いて完成",
|
"Open and completed" : "開いて完成",
|
||||||
"Open" : "開く",
|
"Open" : "開く",
|
||||||
"Completed" : "完了",
|
"Completed" : "完了",
|
||||||
@@ -308,6 +313,7 @@
|
|||||||
"Show card ID badge" : "カードIDバジを表示",
|
"Show card ID badge" : "カードIDバジを表示",
|
||||||
"Show boards in calendar/tasks" : "カレンダー/タスクでボードを表示する",
|
"Show boards in calendar/tasks" : "カレンダー/タスクでボードを表示する",
|
||||||
"Limit board creation to some groups" : "ボード作成は一部のグループに制限する",
|
"Limit board creation to some groups" : "ボード作成は一部のグループに制限する",
|
||||||
|
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "これらのグループ以外のユーザーは、独自のボードを作成することはできませんが、共有されているボードで作業することはできます。",
|
||||||
"Board details" : "ボードの詳細",
|
"Board details" : "ボードの詳細",
|
||||||
"Edit board" : "ボードを編集",
|
"Edit board" : "ボードを編集",
|
||||||
"Clone board" : "ボードを複製",
|
"Clone board" : "ボードを複製",
|
||||||
@@ -325,6 +331,7 @@
|
|||||||
"Only assigned cards" : "割り当てられたカードのみ",
|
"Only assigned cards" : "割り当てられたカードのみ",
|
||||||
"No reminder" : "リマインダーなし",
|
"No reminder" : "リマインダーなし",
|
||||||
"An error occurred" : "エラーが発生しました",
|
"An error occurred" : "エラーが発生しました",
|
||||||
|
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "ボード{title}を削除しますか? これにより、アーカイブされたカードを含むこのボードのすべてのデータが削除されます。",
|
||||||
"Delete the board?" : "ボードを削除しますか?",
|
"Delete the board?" : "ボードを削除しますか?",
|
||||||
"Loading filtered view" : "フィルタされたビューを読み込み中",
|
"Loading filtered view" : "フィルタされたビューを読み込み中",
|
||||||
"Today" : "今日",
|
"Today" : "今日",
|
||||||
@@ -336,6 +343,7 @@
|
|||||||
"Deck board {name}\n* Last modified on {lastMod}" : "デッキボード{name}\n最終更新日:{lastMod}",
|
"Deck board {name}\n* Last modified on {lastMod}" : "デッキボード{name}\n最終更新日:{lastMod}",
|
||||||
"{stack} in {board}" : "{board} 内の {stack}",
|
"{stack} in {board}" : "{board} 内の {stack}",
|
||||||
"Click to expand description" : "説明を展開するにはクリックしてください",
|
"Click to expand description" : "説明を展開するにはクリックしてください",
|
||||||
|
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 作成: {created}\n* 最終変更: {lastMod}\n* {nbAttachments} 添付ファイル\n* {nbComments} コメント",
|
||||||
"{nbCards} cards" : "{nbCards} カード",
|
"{nbCards} cards" : "{nbCards} カード",
|
||||||
"Click to expand comment" : "コメントを展開するにはクリックしてください",
|
"Click to expand comment" : "コメントを展開するにはクリックしてください",
|
||||||
"Create a new card" : "新しいカードを作成する",
|
"Create a new card" : "新しいカードを作成する",
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ OC.L10N.register(
|
|||||||
"Board owner" : "보드 소유자",
|
"Board owner" : "보드 소유자",
|
||||||
"(Group)" : "(그룹)",
|
"(Group)" : "(그룹)",
|
||||||
"(Team)" : "(팀)",
|
"(Team)" : "(팀)",
|
||||||
"Can edit" : "수정할 수 있음",
|
"Can edit" : "편집 허용",
|
||||||
"Can share" : "공유할 수 있음",
|
"Can share" : "공유할 수 있음",
|
||||||
"Can manage" : "관리 가능",
|
"Can manage" : "관리 가능",
|
||||||
"Owner" : "소유자",
|
"Owner" : "소유자",
|
||||||
|
|||||||
@@ -184,7 +184,7 @@
|
|||||||
"Board owner" : "보드 소유자",
|
"Board owner" : "보드 소유자",
|
||||||
"(Group)" : "(그룹)",
|
"(Group)" : "(그룹)",
|
||||||
"(Team)" : "(팀)",
|
"(Team)" : "(팀)",
|
||||||
"Can edit" : "수정할 수 있음",
|
"Can edit" : "편집 허용",
|
||||||
"Can share" : "공유할 수 있음",
|
"Can share" : "공유할 수 있음",
|
||||||
"Can manage" : "관리 가능",
|
"Can manage" : "관리 가능",
|
||||||
"Owner" : "소유자",
|
"Owner" : "소유자",
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ OC.L10N.register(
|
|||||||
"Filter by assigned user" : "Отбор по назначению:",
|
"Filter by assigned user" : "Отбор по назначению:",
|
||||||
"Unassigned" : "Без назначения",
|
"Unassigned" : "Без назначения",
|
||||||
"Filter by status" : "Отбор по состоянию:",
|
"Filter by status" : "Отбор по состоянию:",
|
||||||
"Open and completed" : "Открытые и завершённые",
|
"Open and completed" : "Открытые или завершённые",
|
||||||
"Open" : "Открытые",
|
"Open" : "Открытые",
|
||||||
"Completed" : "Завершённые",
|
"Completed" : "Завершённые",
|
||||||
"Filter by due date" : "Отбор по сроку исполнения:",
|
"Filter by due date" : "Отбор по сроку исполнения:",
|
||||||
|
|||||||
@@ -148,7 +148,7 @@
|
|||||||
"Filter by assigned user" : "Отбор по назначению:",
|
"Filter by assigned user" : "Отбор по назначению:",
|
||||||
"Unassigned" : "Без назначения",
|
"Unassigned" : "Без назначения",
|
||||||
"Filter by status" : "Отбор по состоянию:",
|
"Filter by status" : "Отбор по состоянию:",
|
||||||
"Open and completed" : "Открытые и завершённые",
|
"Open and completed" : "Открытые или завершённые",
|
||||||
"Open" : "Открытые",
|
"Open" : "Открытые",
|
||||||
"Completed" : "Завершённые",
|
"Completed" : "Завершённые",
|
||||||
"Filter by due date" : "Отбор по сроку исполнения:",
|
"Filter by due date" : "Отбор по сроку исполнения:",
|
||||||
|
|||||||
@@ -129,10 +129,13 @@ OC.L10N.register(
|
|||||||
"Archived cards" : "Arhivirane naloge",
|
"Archived cards" : "Arhivirane naloge",
|
||||||
"Add list" : "Dodaj seznam",
|
"Add list" : "Dodaj seznam",
|
||||||
"List name" : "Ime seznama",
|
"List name" : "Ime seznama",
|
||||||
|
"Active filters" : "Dejavni filtri",
|
||||||
"Apply filter" : "Uveljavi filter",
|
"Apply filter" : "Uveljavi filter",
|
||||||
"Filter by tag" : "Filtriraj po oznaki",
|
"Filter by tag" : "Filtriraj po oznaki",
|
||||||
"Filter by assigned user" : "Filtriraj po dodeljenem uporabniku",
|
"Filter by assigned user" : "Filtriraj po dodeljenem uporabniku",
|
||||||
"Unassigned" : "Nedodeljeno",
|
"Unassigned" : "Nedodeljeno",
|
||||||
|
"Filter by status" : "Filtri po stanju",
|
||||||
|
"Open and completed" : "Odprto in končano",
|
||||||
"Open" : "Odpri",
|
"Open" : "Odpri",
|
||||||
"Completed" : "Končano",
|
"Completed" : "Končano",
|
||||||
"Filter by due date" : "Filtriraj po datumu preteka",
|
"Filter by due date" : "Filtriraj po datumu preteka",
|
||||||
@@ -142,6 +145,8 @@ OC.L10N.register(
|
|||||||
"Next 30 days" : "Naslednjih 30 dni",
|
"Next 30 days" : "Naslednjih 30 dni",
|
||||||
"No due date" : "Ni datuma preteka",
|
"No due date" : "Ni datuma preteka",
|
||||||
"Clear filter" : "Počisti filter",
|
"Clear filter" : "Počisti filter",
|
||||||
|
"View Modes" : "Načini pogleda",
|
||||||
|
"Toggle View Modes" : "Preklopi načine pogleda",
|
||||||
"Hide archived cards" : "Skrij arhivirane naloge",
|
"Hide archived cards" : "Skrij arhivirane naloge",
|
||||||
"Show archived cards" : "Prikaži arhivirane naloge",
|
"Show archived cards" : "Prikaži arhivirane naloge",
|
||||||
"Toggle compact mode" : "Preklopi način prikaza",
|
"Toggle compact mode" : "Preklopi način prikaza",
|
||||||
|
|||||||
@@ -127,10 +127,13 @@
|
|||||||
"Archived cards" : "Arhivirane naloge",
|
"Archived cards" : "Arhivirane naloge",
|
||||||
"Add list" : "Dodaj seznam",
|
"Add list" : "Dodaj seznam",
|
||||||
"List name" : "Ime seznama",
|
"List name" : "Ime seznama",
|
||||||
|
"Active filters" : "Dejavni filtri",
|
||||||
"Apply filter" : "Uveljavi filter",
|
"Apply filter" : "Uveljavi filter",
|
||||||
"Filter by tag" : "Filtriraj po oznaki",
|
"Filter by tag" : "Filtriraj po oznaki",
|
||||||
"Filter by assigned user" : "Filtriraj po dodeljenem uporabniku",
|
"Filter by assigned user" : "Filtriraj po dodeljenem uporabniku",
|
||||||
"Unassigned" : "Nedodeljeno",
|
"Unassigned" : "Nedodeljeno",
|
||||||
|
"Filter by status" : "Filtri po stanju",
|
||||||
|
"Open and completed" : "Odprto in končano",
|
||||||
"Open" : "Odpri",
|
"Open" : "Odpri",
|
||||||
"Completed" : "Končano",
|
"Completed" : "Končano",
|
||||||
"Filter by due date" : "Filtriraj po datumu preteka",
|
"Filter by due date" : "Filtriraj po datumu preteka",
|
||||||
@@ -140,6 +143,8 @@
|
|||||||
"Next 30 days" : "Naslednjih 30 dni",
|
"Next 30 days" : "Naslednjih 30 dni",
|
||||||
"No due date" : "Ni datuma preteka",
|
"No due date" : "Ni datuma preteka",
|
||||||
"Clear filter" : "Počisti filter",
|
"Clear filter" : "Počisti filter",
|
||||||
|
"View Modes" : "Načini pogleda",
|
||||||
|
"Toggle View Modes" : "Preklopi načine pogleda",
|
||||||
"Hide archived cards" : "Skrij arhivirane naloge",
|
"Hide archived cards" : "Skrij arhivirane naloge",
|
||||||
"Show archived cards" : "Prikaži arhivirane naloge",
|
"Show archived cards" : "Prikaži arhivirane naloge",
|
||||||
"Toggle compact mode" : "Preklopi način prikaza",
|
"Toggle compact mode" : "Preklopi način prikaza",
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ OC.L10N.register(
|
|||||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Овај коментар има више од %s карактера.\nДодат је као прилог картици под именом %s.\nДоступно је на URL адреси: %s.",
|
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Овај коментар има више од %s карактера.\nДодат је као прилог картици под именом %s.\nДоступно је на URL адреси: %s.",
|
||||||
"Card not found" : "Картица није нађена",
|
"Card not found" : "Картица није нађена",
|
||||||
"Path is already shared with this card" : "Путања се већ дели са овом картицом",
|
"Path is already shared with this card" : "Путања се већ дели са овом картицом",
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "Неисправан датим, формат датума мора бити ГГГГ-ММ-ДД",
|
"Invalid date, date format must be YYYY-MM-DD" : "Неисправан датум, формат датума мора бити ГГГГ-ММ-ДД",
|
||||||
"Personal planning and team project organization" : "Лични планер и организатор тимског пројекта",
|
"Personal planning and team project organization" : "Лични планер и организатор тимског пројекта",
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Шпил је организациони алат у канбан стилу који је намењен личном планирању и организацији пројекта у тимовима интегрисаним са Nextcloud.\n\n\n- 📥 Додајте своје задатке у картице и поређајте их по редоследу\n- 📄 Напишите додатне белешке употребом Markdown синтаксе\n- 🔖 Доделите ознаке у циљу још боље организације\n- 👥 Делите са својим тимом, пријатељима или породицом\n- 📎 Прикачите фајлове и уградите их у свој Markdown опис\n- 💬 Дискутујте са својим тимом користећи коментаре\n- ⚡ Пратите измене у току активности\n- 🚀 Организујте свој пројекат",
|
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Шпил је организациони алат у канбан стилу који је намењен личном планирању и организацији пројекта у тимовима интегрисаним са Nextcloud.\n\n\n- 📥 Додајте своје задатке у картице и поређајте их по редоследу\n- 📄 Напишите додатне белешке употребом Markdown синтаксе\n- 🔖 Доделите ознаке у циљу још боље организације\n- 👥 Делите са својим тимом, пријатељима или породицом\n- 📎 Прикачите фајлове и уградите их у свој Markdown опис\n- 💬 Дискутујте са својим тимом користећи коментаре\n- ⚡ Пратите измене у току активности\n- 🚀 Организујте свој пројекат",
|
||||||
"Add board" : "Додај таблу",
|
"Add board" : "Додај таблу",
|
||||||
|
|||||||
@@ -115,7 +115,7 @@
|
|||||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Овај коментар има више од %s карактера.\nДодат је као прилог картици под именом %s.\nДоступно је на URL адреси: %s.",
|
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Овај коментар има више од %s карактера.\nДодат је као прилог картици под именом %s.\nДоступно је на URL адреси: %s.",
|
||||||
"Card not found" : "Картица није нађена",
|
"Card not found" : "Картица није нађена",
|
||||||
"Path is already shared with this card" : "Путања се већ дели са овом картицом",
|
"Path is already shared with this card" : "Путања се већ дели са овом картицом",
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "Неисправан датим, формат датума мора бити ГГГГ-ММ-ДД",
|
"Invalid date, date format must be YYYY-MM-DD" : "Неисправан датум, формат датума мора бити ГГГГ-ММ-ДД",
|
||||||
"Personal planning and team project organization" : "Лични планер и организатор тимског пројекта",
|
"Personal planning and team project organization" : "Лични планер и организатор тимског пројекта",
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Шпил је организациони алат у канбан стилу који је намењен личном планирању и организацији пројекта у тимовима интегрисаним са Nextcloud.\n\n\n- 📥 Додајте своје задатке у картице и поређајте их по редоследу\n- 📄 Напишите додатне белешке употребом Markdown синтаксе\n- 🔖 Доделите ознаке у циљу још боље организације\n- 👥 Делите са својим тимом, пријатељима или породицом\n- 📎 Прикачите фајлове и уградите их у свој Markdown опис\n- 💬 Дискутујте са својим тимом користећи коментаре\n- ⚡ Пратите измене у току активности\n- 🚀 Организујте свој пројекат",
|
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Шпил је организациони алат у канбан стилу који је намењен личном планирању и организацији пројекта у тимовима интегрисаним са Nextcloud.\n\n\n- 📥 Додајте своје задатке у картице и поређајте их по редоследу\n- 📄 Напишите додатне белешке употребом Markdown синтаксе\n- 🔖 Доделите ознаке у циљу још боље организације\n- 👥 Делите са својим тимом, пријатељима или породицом\n- 📎 Прикачите фајлове и уградите их у свој Markdown опис\n- 💬 Дискутујте са својим тимом користећи коментаре\n- ⚡ Пратите измене у току активности\n- 🚀 Организујте свој пројекат",
|
||||||
"Add board" : "Додај таблу",
|
"Add board" : "Додај таблу",
|
||||||
|
|||||||
@@ -4,6 +4,14 @@ OC.L10N.register(
|
|||||||
"Finished" : "Završeno",
|
"Finished" : "Završeno",
|
||||||
"copy" : "kopiraj",
|
"copy" : "kopiraj",
|
||||||
"Done" : "Done",
|
"Done" : "Done",
|
||||||
|
"The file was uploaded" : "Fajl je otpremljen",
|
||||||
|
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Fajl za otpremljivanje premašuje upload_max_filesize direktivu u php.ini",
|
||||||
|
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Fajl za otpremanje premašuje MAX_FILE_SIZE navedenu u HTML obrascu",
|
||||||
|
"The file was only partially uploaded" : "Fajl je parcijalno otpremljen",
|
||||||
|
"No file was uploaded" : "Nijedan fajl nije otpremljen",
|
||||||
|
"Missing a temporary folder" : "Nedostaje privremena fascikla",
|
||||||
|
"Could not write file to disk" : "Ne mogu da upišem fajl na disk",
|
||||||
|
"A PHP extension stopped the file upload" : "PHP ekstenzija je zaustavila otpremanje fajla",
|
||||||
"Add board" : "Dodaj tablu",
|
"Add board" : "Dodaj tablu",
|
||||||
"Move card" : "Premesti karticu",
|
"Move card" : "Premesti karticu",
|
||||||
"Cancel" : "Otkaži",
|
"Cancel" : "Otkaži",
|
||||||
|
|||||||
@@ -2,6 +2,14 @@
|
|||||||
"Finished" : "Završeno",
|
"Finished" : "Završeno",
|
||||||
"copy" : "kopiraj",
|
"copy" : "kopiraj",
|
||||||
"Done" : "Done",
|
"Done" : "Done",
|
||||||
|
"The file was uploaded" : "Fajl je otpremljen",
|
||||||
|
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Fajl za otpremljivanje premašuje upload_max_filesize direktivu u php.ini",
|
||||||
|
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Fajl za otpremanje premašuje MAX_FILE_SIZE navedenu u HTML obrascu",
|
||||||
|
"The file was only partially uploaded" : "Fajl je parcijalno otpremljen",
|
||||||
|
"No file was uploaded" : "Nijedan fajl nije otpremljen",
|
||||||
|
"Missing a temporary folder" : "Nedostaje privremena fascikla",
|
||||||
|
"Could not write file to disk" : "Ne mogu da upišem fajl na disk",
|
||||||
|
"A PHP extension stopped the file upload" : "PHP ekstenzija je zaustavila otpremanje fajla",
|
||||||
"Add board" : "Dodaj tablu",
|
"Add board" : "Dodaj tablu",
|
||||||
"Move card" : "Premesti karticu",
|
"Move card" : "Premesti karticu",
|
||||||
"Cancel" : "Otkaži",
|
"Cancel" : "Otkaži",
|
||||||
|
|||||||
15
l10n/vi.js
15
l10n/vi.js
@@ -149,6 +149,8 @@ OC.L10N.register(
|
|||||||
"Filter by tag" : "Lọc theo nhãn",
|
"Filter by tag" : "Lọc theo nhãn",
|
||||||
"Filter by assigned user" : "Lọc theo người dùng được phân công",
|
"Filter by assigned user" : "Lọc theo người dùng được phân công",
|
||||||
"Unassigned" : "Chưa được phân công",
|
"Unassigned" : "Chưa được phân công",
|
||||||
|
"Filter by status" : "Lọc theo trạng thái",
|
||||||
|
"Open and completed" : "Đã mở và hoàn thành",
|
||||||
"Open" : "Mở",
|
"Open" : "Mở",
|
||||||
"Completed" : "Hoàn thành",
|
"Completed" : "Hoàn thành",
|
||||||
"Filter by due date" : "Lọc theo thời hạn",
|
"Filter by due date" : "Lọc theo thời hạn",
|
||||||
@@ -161,7 +163,7 @@ OC.L10N.register(
|
|||||||
"View Modes" : "Chế độ xem",
|
"View Modes" : "Chế độ xem",
|
||||||
"Toggle View Modes" : "Chế độ xem chuyển đổi",
|
"Toggle View Modes" : "Chế độ xem chuyển đổi",
|
||||||
"Hide archived cards" : "Ẩn tác vụ đã lưu trữ",
|
"Hide archived cards" : "Ẩn tác vụ đã lưu trữ",
|
||||||
"Show archived cards" : "Hiện tác vụ đã lưu trữ",
|
"Show archived cards" : "Hiển thị các thẻ đã lưu trữ",
|
||||||
"Toggle compact mode" : "Chuyển đổi chế độ thu gọn",
|
"Toggle compact mode" : "Chuyển đổi chế độ thu gọn",
|
||||||
"Hide card cover images" : "Ẩn hình ảnh bìa thẻ",
|
"Hide card cover images" : "Ẩn hình ảnh bìa thẻ",
|
||||||
"Show card cover images" : "Hiển thị hình ảnh bìa thẻ",
|
"Show card cover images" : "Hiển thị hình ảnh bìa thẻ",
|
||||||
@@ -178,9 +180,12 @@ OC.L10N.register(
|
|||||||
"Deleted lists" : "Danh sách đã bị xóa",
|
"Deleted lists" : "Danh sách đã bị xóa",
|
||||||
"Undo" : "Hoàn tác",
|
"Undo" : "Hoàn tác",
|
||||||
"Deleted cards" : "Thẻ đã xóa",
|
"Deleted cards" : "Thẻ đã xóa",
|
||||||
|
"Share board with a user, group or team …" : "Chia sẻ bảng với người dùng, nhóm hoặc đội ...",
|
||||||
|
"Searching for users, groups and teams …" : "Đang tìm kiếm người dùng, nhóm và đội ...",
|
||||||
"No participants found" : "Không tìm thấy người tham gia",
|
"No participants found" : "Không tìm thấy người tham gia",
|
||||||
"Board owner" : "Chủ sở hữu bảng",
|
"Board owner" : "Chủ sở hữu bảng",
|
||||||
"(Group)" : "(Nhóm)",
|
"(Group)" : "(Nhóm)",
|
||||||
|
"(Team)" : "(Đội)",
|
||||||
"Can edit" : "Có thể chỉnh sửa",
|
"Can edit" : "Có thể chỉnh sửa",
|
||||||
"Can share" : "Can share",
|
"Can share" : "Can share",
|
||||||
"Can manage" : "Có thể quản lý",
|
"Can manage" : "Có thể quản lý",
|
||||||
@@ -206,7 +211,9 @@ OC.L10N.register(
|
|||||||
"title and color value must be provided" : "tiều đề và giá trị màu phải được cung cấp",
|
"title and color value must be provided" : "tiều đề và giá trị màu phải được cung cấp",
|
||||||
"Board name" : "Tên bảng",
|
"Board name" : "Tên bảng",
|
||||||
"Members" : "Thành viên",
|
"Members" : "Thành viên",
|
||||||
|
"Assign to users/groups/team" : "Gán cho người dùng/nhóm/đội",
|
||||||
"Assign a user to this card…" : "Gán một người dùng cho thẻ này...",
|
"Assign a user to this card…" : "Gán một người dùng cho thẻ này...",
|
||||||
|
"Select a user to assign to this card…" : "Chọn một người dùng để gán cho thẻ này…",
|
||||||
"Upload new files" : "Tải lên các tệp mới",
|
"Upload new files" : "Tải lên các tệp mới",
|
||||||
"Share from Files" : "Chia sẻ từ Thư mục",
|
"Share from Files" : "Chia sẻ từ Thư mục",
|
||||||
"Pending share" : "Chia sẻ đang chờ xử lý",
|
"Pending share" : "Chia sẻ đang chờ xử lý",
|
||||||
@@ -251,6 +258,7 @@ OC.L10N.register(
|
|||||||
"Remove due date" : "Xóa thời hạn",
|
"Remove due date" : "Xóa thời hạn",
|
||||||
"Mark as done" : "Đánh dấu là đã hoàn thành",
|
"Mark as done" : "Đánh dấu là đã hoàn thành",
|
||||||
"Due at:" : "Đến lúc:",
|
"Due at:" : "Đến lúc:",
|
||||||
|
"Not done" : "Chưa hoàn thành",
|
||||||
"Unarchive card" : "Thẻ chưa lưu trữ",
|
"Unarchive card" : "Thẻ chưa lưu trữ",
|
||||||
"Archive card" : "Lưu trữ thẻ",
|
"Archive card" : "Lưu trữ thẻ",
|
||||||
"Select Date" : "Chọn ngày",
|
"Select Date" : "Chọn ngày",
|
||||||
@@ -259,6 +267,7 @@ OC.L10N.register(
|
|||||||
"Set due date for this weekend" : "Đặt ngày hết hạn cho cuối tuần này",
|
"Set due date for this weekend" : "Đặt ngày hết hạn cho cuối tuần này",
|
||||||
"Set due date for next week" : "Đặt ngày hết hạn cho tuần sau",
|
"Set due date for next week" : "Đặt ngày hết hạn cho tuần sau",
|
||||||
"Assign a tag to this card…" : "Gán một \"thẻ phân biệt\" cho thẻ này ...",
|
"Assign a tag to this card…" : "Gán một \"thẻ phân biệt\" cho thẻ này ...",
|
||||||
|
"Select or create a tag…" : "Chọn hoặc tạo một thẻ…",
|
||||||
"Create a new tag:" : "Tạo một thẻ phân biệt mới:",
|
"Create a new tag:" : "Tạo một thẻ phân biệt mới:",
|
||||||
"(group)" : "(nhóm)",
|
"(group)" : "(nhóm)",
|
||||||
"Next week – {timeLocale}" : "Tuần sau - {timeLocale}",
|
"Next week – {timeLocale}" : "Tuần sau - {timeLocale}",
|
||||||
@@ -273,6 +282,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Thẻ đã bị xóa",
|
"Card deleted" : "Thẻ đã bị xóa",
|
||||||
"seconds ago" : "vài giây trước",
|
"seconds ago" : "vài giây trước",
|
||||||
"Keyboard shortcuts" : "Phím tắt",
|
"Keyboard shortcuts" : "Phím tắt",
|
||||||
|
"Boost your productivity using Deck with keyboard shortcuts." : "Tăng cường năng suất của bạn khi sử dụng Deck với các phím tắt.",
|
||||||
"Board actions" : "Hành động cho Bảng",
|
"Board actions" : "Hành động cho Bảng",
|
||||||
"Keyboard shortcut" : "Phím tắt bàn phím",
|
"Keyboard shortcut" : "Phím tắt bàn phím",
|
||||||
"Action" : "Hành động",
|
"Action" : "Hành động",
|
||||||
@@ -375,6 +385,7 @@ OC.L10N.register(
|
|||||||
"List is empty" : "Danh sách trống",
|
"List is empty" : "Danh sách trống",
|
||||||
"Limit deck usage of groups" : "Giới hạn việc sử dụng Kế Hoạch của các nhóm",
|
"Limit deck usage of groups" : "Giới hạn việc sử dụng Kế Hoạch của các nhóm",
|
||||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Giới hạn của Kế Hoạch sẽ chặn người dùng không thuộc nhóm đó khỏi việc tạo bảng của riêng họ. Người dùng vẫn có thể làm việc trên các bảng đã được chia sẻ với họ.",
|
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Giới hạn của Kế Hoạch sẽ chặn người dùng không thuộc nhóm đó khỏi việc tạo bảng của riêng họ. Người dùng vẫn có thể làm việc trên các bảng đã được chia sẻ với họ.",
|
||||||
"Not completed" : "Chưa hoàn thành"
|
"Not completed" : "Chưa hoàn thành",
|
||||||
|
"Filter by completed" : "Lọc theo đã việc đã hoàn thành"
|
||||||
},
|
},
|
||||||
"nplurals=1; plural=0;");
|
"nplurals=1; plural=0;");
|
||||||
|
|||||||
15
l10n/vi.json
15
l10n/vi.json
@@ -147,6 +147,8 @@
|
|||||||
"Filter by tag" : "Lọc theo nhãn",
|
"Filter by tag" : "Lọc theo nhãn",
|
||||||
"Filter by assigned user" : "Lọc theo người dùng được phân công",
|
"Filter by assigned user" : "Lọc theo người dùng được phân công",
|
||||||
"Unassigned" : "Chưa được phân công",
|
"Unassigned" : "Chưa được phân công",
|
||||||
|
"Filter by status" : "Lọc theo trạng thái",
|
||||||
|
"Open and completed" : "Đã mở và hoàn thành",
|
||||||
"Open" : "Mở",
|
"Open" : "Mở",
|
||||||
"Completed" : "Hoàn thành",
|
"Completed" : "Hoàn thành",
|
||||||
"Filter by due date" : "Lọc theo thời hạn",
|
"Filter by due date" : "Lọc theo thời hạn",
|
||||||
@@ -159,7 +161,7 @@
|
|||||||
"View Modes" : "Chế độ xem",
|
"View Modes" : "Chế độ xem",
|
||||||
"Toggle View Modes" : "Chế độ xem chuyển đổi",
|
"Toggle View Modes" : "Chế độ xem chuyển đổi",
|
||||||
"Hide archived cards" : "Ẩn tác vụ đã lưu trữ",
|
"Hide archived cards" : "Ẩn tác vụ đã lưu trữ",
|
||||||
"Show archived cards" : "Hiện tác vụ đã lưu trữ",
|
"Show archived cards" : "Hiển thị các thẻ đã lưu trữ",
|
||||||
"Toggle compact mode" : "Chuyển đổi chế độ thu gọn",
|
"Toggle compact mode" : "Chuyển đổi chế độ thu gọn",
|
||||||
"Hide card cover images" : "Ẩn hình ảnh bìa thẻ",
|
"Hide card cover images" : "Ẩn hình ảnh bìa thẻ",
|
||||||
"Show card cover images" : "Hiển thị hình ảnh bìa thẻ",
|
"Show card cover images" : "Hiển thị hình ảnh bìa thẻ",
|
||||||
@@ -176,9 +178,12 @@
|
|||||||
"Deleted lists" : "Danh sách đã bị xóa",
|
"Deleted lists" : "Danh sách đã bị xóa",
|
||||||
"Undo" : "Hoàn tác",
|
"Undo" : "Hoàn tác",
|
||||||
"Deleted cards" : "Thẻ đã xóa",
|
"Deleted cards" : "Thẻ đã xóa",
|
||||||
|
"Share board with a user, group or team …" : "Chia sẻ bảng với người dùng, nhóm hoặc đội ...",
|
||||||
|
"Searching for users, groups and teams …" : "Đang tìm kiếm người dùng, nhóm và đội ...",
|
||||||
"No participants found" : "Không tìm thấy người tham gia",
|
"No participants found" : "Không tìm thấy người tham gia",
|
||||||
"Board owner" : "Chủ sở hữu bảng",
|
"Board owner" : "Chủ sở hữu bảng",
|
||||||
"(Group)" : "(Nhóm)",
|
"(Group)" : "(Nhóm)",
|
||||||
|
"(Team)" : "(Đội)",
|
||||||
"Can edit" : "Có thể chỉnh sửa",
|
"Can edit" : "Có thể chỉnh sửa",
|
||||||
"Can share" : "Can share",
|
"Can share" : "Can share",
|
||||||
"Can manage" : "Có thể quản lý",
|
"Can manage" : "Có thể quản lý",
|
||||||
@@ -204,7 +209,9 @@
|
|||||||
"title and color value must be provided" : "tiều đề và giá trị màu phải được cung cấp",
|
"title and color value must be provided" : "tiều đề và giá trị màu phải được cung cấp",
|
||||||
"Board name" : "Tên bảng",
|
"Board name" : "Tên bảng",
|
||||||
"Members" : "Thành viên",
|
"Members" : "Thành viên",
|
||||||
|
"Assign to users/groups/team" : "Gán cho người dùng/nhóm/đội",
|
||||||
"Assign a user to this card…" : "Gán một người dùng cho thẻ này...",
|
"Assign a user to this card…" : "Gán một người dùng cho thẻ này...",
|
||||||
|
"Select a user to assign to this card…" : "Chọn một người dùng để gán cho thẻ này…",
|
||||||
"Upload new files" : "Tải lên các tệp mới",
|
"Upload new files" : "Tải lên các tệp mới",
|
||||||
"Share from Files" : "Chia sẻ từ Thư mục",
|
"Share from Files" : "Chia sẻ từ Thư mục",
|
||||||
"Pending share" : "Chia sẻ đang chờ xử lý",
|
"Pending share" : "Chia sẻ đang chờ xử lý",
|
||||||
@@ -249,6 +256,7 @@
|
|||||||
"Remove due date" : "Xóa thời hạn",
|
"Remove due date" : "Xóa thời hạn",
|
||||||
"Mark as done" : "Đánh dấu là đã hoàn thành",
|
"Mark as done" : "Đánh dấu là đã hoàn thành",
|
||||||
"Due at:" : "Đến lúc:",
|
"Due at:" : "Đến lúc:",
|
||||||
|
"Not done" : "Chưa hoàn thành",
|
||||||
"Unarchive card" : "Thẻ chưa lưu trữ",
|
"Unarchive card" : "Thẻ chưa lưu trữ",
|
||||||
"Archive card" : "Lưu trữ thẻ",
|
"Archive card" : "Lưu trữ thẻ",
|
||||||
"Select Date" : "Chọn ngày",
|
"Select Date" : "Chọn ngày",
|
||||||
@@ -257,6 +265,7 @@
|
|||||||
"Set due date for this weekend" : "Đặt ngày hết hạn cho cuối tuần này",
|
"Set due date for this weekend" : "Đặt ngày hết hạn cho cuối tuần này",
|
||||||
"Set due date for next week" : "Đặt ngày hết hạn cho tuần sau",
|
"Set due date for next week" : "Đặt ngày hết hạn cho tuần sau",
|
||||||
"Assign a tag to this card…" : "Gán một \"thẻ phân biệt\" cho thẻ này ...",
|
"Assign a tag to this card…" : "Gán một \"thẻ phân biệt\" cho thẻ này ...",
|
||||||
|
"Select or create a tag…" : "Chọn hoặc tạo một thẻ…",
|
||||||
"Create a new tag:" : "Tạo một thẻ phân biệt mới:",
|
"Create a new tag:" : "Tạo một thẻ phân biệt mới:",
|
||||||
"(group)" : "(nhóm)",
|
"(group)" : "(nhóm)",
|
||||||
"Next week – {timeLocale}" : "Tuần sau - {timeLocale}",
|
"Next week – {timeLocale}" : "Tuần sau - {timeLocale}",
|
||||||
@@ -271,6 +280,7 @@
|
|||||||
"Card deleted" : "Thẻ đã bị xóa",
|
"Card deleted" : "Thẻ đã bị xóa",
|
||||||
"seconds ago" : "vài giây trước",
|
"seconds ago" : "vài giây trước",
|
||||||
"Keyboard shortcuts" : "Phím tắt",
|
"Keyboard shortcuts" : "Phím tắt",
|
||||||
|
"Boost your productivity using Deck with keyboard shortcuts." : "Tăng cường năng suất của bạn khi sử dụng Deck với các phím tắt.",
|
||||||
"Board actions" : "Hành động cho Bảng",
|
"Board actions" : "Hành động cho Bảng",
|
||||||
"Keyboard shortcut" : "Phím tắt bàn phím",
|
"Keyboard shortcut" : "Phím tắt bàn phím",
|
||||||
"Action" : "Hành động",
|
"Action" : "Hành động",
|
||||||
@@ -373,6 +383,7 @@
|
|||||||
"List is empty" : "Danh sách trống",
|
"List is empty" : "Danh sách trống",
|
||||||
"Limit deck usage of groups" : "Giới hạn việc sử dụng Kế Hoạch của các nhóm",
|
"Limit deck usage of groups" : "Giới hạn việc sử dụng Kế Hoạch của các nhóm",
|
||||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Giới hạn của Kế Hoạch sẽ chặn người dùng không thuộc nhóm đó khỏi việc tạo bảng của riêng họ. Người dùng vẫn có thể làm việc trên các bảng đã được chia sẻ với họ.",
|
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Giới hạn của Kế Hoạch sẽ chặn người dùng không thuộc nhóm đó khỏi việc tạo bảng của riêng họ. Người dùng vẫn có thể làm việc trên các bảng đã được chia sẻ với họ.",
|
||||||
"Not completed" : "Chưa hoàn thành"
|
"Not completed" : "Chưa hoàn thành",
|
||||||
|
"Filter by completed" : "Lọc theo đã việc đã hoàn thành"
|
||||||
},"pluralForm" :"nplurals=1; plural=0;"
|
},"pluralForm" :"nplurals=1; plural=0;"
|
||||||
}
|
}
|
||||||
@@ -12,6 +12,7 @@ use OCA\Deck\Db\CardMapper;
|
|||||||
use OCA\Deck\Db\StackMapper;
|
use OCA\Deck\Db\StackMapper;
|
||||||
use OCA\Deck\Model\CardDetails;
|
use OCA\Deck\Model\CardDetails;
|
||||||
use OCA\Deck\Service\BoardService;
|
use OCA\Deck\Service\BoardService;
|
||||||
|
use OCA\Deck\Service\CommentService;
|
||||||
use OCP\App\IAppManager;
|
use OCP\App\IAppManager;
|
||||||
use OCP\DB\Exception;
|
use OCP\DB\Exception;
|
||||||
use Symfony\Component\Console\Command\Command;
|
use Symfony\Component\Console\Command\Command;
|
||||||
@@ -27,6 +28,7 @@ class UserExport extends Command {
|
|||||||
private StackMapper $stackMapper,
|
private StackMapper $stackMapper,
|
||||||
private CardMapper $cardMapper,
|
private CardMapper $cardMapper,
|
||||||
private AssignmentMapper $assignedUsersMapper,
|
private AssignmentMapper $assignedUsersMapper,
|
||||||
|
private CommentService $commentService,
|
||||||
) {
|
) {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
}
|
}
|
||||||
@@ -56,6 +58,9 @@ class UserExport extends Command {
|
|||||||
|
|
||||||
$data = [];
|
$data = [];
|
||||||
foreach ($boards as $board) {
|
foreach ($boards as $board) {
|
||||||
|
if ($board->getDeletedAt() > 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
$fullBoard = $this->boardMapper->find($board->getId(), true, true);
|
$fullBoard = $this->boardMapper->find($board->getId(), true, true);
|
||||||
$data[$board->getId()] = $fullBoard->jsonSerialize();
|
$data[$board->getId()] = $fullBoard->jsonSerialize();
|
||||||
$stacks = $this->stackMapper->findAll($board->getId());
|
$stacks = $this->stackMapper->findAll($board->getId());
|
||||||
@@ -68,7 +73,13 @@ class UserExport extends Command {
|
|||||||
$fullCard->setAssignedUsers($assignedUsers);
|
$fullCard->setAssignedUsers($assignedUsers);
|
||||||
|
|
||||||
$cardDetails = new CardDetails($fullCard, $fullBoard);
|
$cardDetails = new CardDetails($fullCard, $fullBoard);
|
||||||
$data[$board->getId()]['stacks'][$stack->getId()]['cards'][] = $cardDetails->jsonSerialize();
|
$comments = $this->commentService->list($card->getId());
|
||||||
|
|
||||||
|
$cardDetails->setCommentsCount(count($comments->getData()));
|
||||||
|
|
||||||
|
$cardJson = $cardDetails->jsonSerialize();
|
||||||
|
$cardJson['comments'] = $comments->getData();
|
||||||
|
$data[$board->getId()]['stacks'][$stack->getId()]['cards'][] = $cardJson;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ class CommentEventListener implements IEventListener {
|
|||||||
private function activityHandler(CommentsEvent $event): void {
|
private function activityHandler(CommentsEvent $event): void {
|
||||||
$comment = $event->getComment();
|
$comment = $event->getComment();
|
||||||
$card = $this->cardMapper->find($comment->getObjectId());
|
$card = $this->cardMapper->find($comment->getObjectId());
|
||||||
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $card, ActivityManager::SUBJECT_CARD_COMMENT_CREATE, ['comment' => $comment]);
|
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $card, ActivityManager::SUBJECT_CARD_COMMENT_CREATE, ['comment' => $comment], $comment->getActorId());
|
||||||
}
|
}
|
||||||
|
|
||||||
private function notificationHandler(CommentsEvent $event): void {
|
private function notificationHandler(CommentsEvent $event): void {
|
||||||
|
|||||||
@@ -562,6 +562,11 @@ class BoardService {
|
|||||||
foreach ($stacks as $stack) {
|
foreach ($stacks as $stack) {
|
||||||
$newStack = new Stack();
|
$newStack = new Stack();
|
||||||
$newStack->setTitle($stack->getTitle());
|
$newStack->setTitle($stack->getTitle());
|
||||||
|
if ($stack->getOrder() == null) {
|
||||||
|
$newStack->setOrder(999);
|
||||||
|
} else {
|
||||||
|
$newStack->setOrder($stack->getOrder());
|
||||||
|
}
|
||||||
$newStack->setBoardId($newBoard->getId());
|
$newStack->setBoardId($newBoard->getId());
|
||||||
$this->stackMapper->insert($newStack);
|
$this->stackMapper->insert($newStack);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Service\Importer\Systems;
|
namespace OCA\Deck\Service\Importer\Systems;
|
||||||
|
|
||||||
|
use OC\Comments\Comment;
|
||||||
use OCA\Deck\BadRequestException;
|
use OCA\Deck\BadRequestException;
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Db\Assignment;
|
use OCA\Deck\Db\Assignment;
|
||||||
@@ -103,8 +104,20 @@ class DeckJsonService extends ABoardImportService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function getComments(): array {
|
public function getComments(): array {
|
||||||
// Comments are not implemented in export
|
$comments = [];
|
||||||
return [];
|
foreach ($this->tmpCards as $sourceCard) {
|
||||||
|
if (!property_exists($sourceCard, "comments")) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$commentsOriginal = $sourceCard->comments;
|
||||||
|
foreach ($commentsOriginal as $commentOriginal) {
|
||||||
|
$comment = new Comment();
|
||||||
|
$comment->setActor($commentOriginal->actorType, $commentOriginal->actorId)
|
||||||
|
->setMessage($commentOriginal->message)->setCreationDateTime(\DateTime::createFromFormat('Y-m-d\TH:i:sP', $commentOriginal->creationDateTime));
|
||||||
|
$comments[$this->cards[$sourceCard->id]->getId()][$commentOriginal->id] = $comment;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $comments;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getCardLabelAssignment(): array {
|
public function getCardLabelAssignment(): array {
|
||||||
|
|||||||
190
package-lock.json
generated
190
package-lock.json
generated
@@ -1,30 +1,30 @@
|
|||||||
{
|
{
|
||||||
"name": "deck",
|
"name": "deck",
|
||||||
"version": "1.14.0-dev",
|
"version": "1.14.0-beta.1",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "deck",
|
"name": "deck",
|
||||||
"version": "1.14.0-dev",
|
"version": "1.14.0-beta.1",
|
||||||
"license": "agpl",
|
"license": "agpl",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/polyfill": "^7.12.1",
|
"@babel/polyfill": "^7.12.1",
|
||||||
"@babel/runtime": "^7.24.7",
|
"@babel/runtime": "^7.24.8",
|
||||||
"@nextcloud/auth": "^2.3.0",
|
"@nextcloud/auth": "^2.3.0",
|
||||||
"@nextcloud/axios": "^2.5.0",
|
"@nextcloud/axios": "^2.5.0",
|
||||||
"@nextcloud/capabilities": "^1.2.0",
|
"@nextcloud/capabilities": "^1.2.0",
|
||||||
"@nextcloud/dialogs": "^5.3.5",
|
"@nextcloud/dialogs": "^5.3.5",
|
||||||
"@nextcloud/event-bus": "^3.3.1",
|
"@nextcloud/event-bus": "^3.3.1",
|
||||||
"@nextcloud/files": "^3.5.1",
|
"@nextcloud/files": "^3.7.0",
|
||||||
"@nextcloud/initial-state": "^2.2.0",
|
"@nextcloud/initial-state": "^2.2.0",
|
||||||
"@nextcloud/l10n": "^3.1.0",
|
"@nextcloud/l10n": "^3.1.0",
|
||||||
"@nextcloud/moment": "^1.3.1",
|
"@nextcloud/moment": "^1.3.1",
|
||||||
"@nextcloud/notify_push": "^1.3.0",
|
"@nextcloud/notify_push": "^1.3.0",
|
||||||
"@nextcloud/router": "^3.0.1",
|
"@nextcloud/router": "^3.0.1",
|
||||||
"@nextcloud/vue": "^8.14.0",
|
"@nextcloud/vue": "^8.15.1",
|
||||||
"blueimp-md5": "^2.19.0",
|
"blueimp-md5": "^2.19.0",
|
||||||
"chroma-js": "^2.4.2",
|
"chroma-js": "^2.6.0",
|
||||||
"dompurify": "^3.1.6",
|
"dompurify": "^3.1.6",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"markdown-it": "^14.1.0",
|
"markdown-it": "^14.1.0",
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
"@relative-ci/agent": "^4.2.9",
|
"@relative-ci/agent": "^4.2.9",
|
||||||
"@vue/test-utils": "^2.4.6",
|
"@vue/test-utils": "^2.4.6",
|
||||||
"@vue/vue2-jest": "^29.2.6",
|
"@vue/vue2-jest": "^29.2.6",
|
||||||
"cypress": "^13.13.0",
|
"cypress": "^13.13.2",
|
||||||
"eslint-plugin-cypress": "^3.3.0",
|
"eslint-plugin-cypress": "^3.3.0",
|
||||||
"eslint-webpack-plugin": "^4.2.0",
|
"eslint-webpack-plugin": "^4.2.0",
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
@@ -1917,9 +1917,9 @@
|
|||||||
"peer": true
|
"peer": true
|
||||||
},
|
},
|
||||||
"node_modules/@babel/runtime": {
|
"node_modules/@babel/runtime": {
|
||||||
"version": "7.24.7",
|
"version": "7.24.8",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.8.tgz",
|
||||||
"integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
|
"integrity": "sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"regenerator-runtime": "^0.14.0"
|
"regenerator-runtime": "^0.14.0"
|
||||||
},
|
},
|
||||||
@@ -3697,18 +3697,20 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@nextcloud/files": {
|
"node_modules/@nextcloud/files": {
|
||||||
"version": "3.5.1",
|
"version": "3.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.7.0.tgz",
|
||||||
"integrity": "sha512-GkVWUgkBSVt27Carmp/DbnDiqHq03w3VQWt8xszacp/IQSB9G+8/KCvi8zxldac2q7lQ8NpHlB/Bqy8o+OOc0A==",
|
"integrity": "sha512-u7Hwt7/13empViLvwHPQk1AnKjhDYf7tkXeCLaO6e03am2uqBlYwc3iUS4cZye5CuaEeJeW251jPUGTtRXjjWQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nextcloud/auth": "^2.3.0",
|
"@nextcloud/auth": "^2.3.0",
|
||||||
|
"@nextcloud/capabilities": "^1.2.0",
|
||||||
"@nextcloud/l10n": "^3.1.0",
|
"@nextcloud/l10n": "^3.1.0",
|
||||||
"@nextcloud/logger": "^3.0.2",
|
"@nextcloud/logger": "^3.0.2",
|
||||||
"@nextcloud/paths": "^2.1.0",
|
"@nextcloud/paths": "^2.2.0",
|
||||||
"@nextcloud/router": "^3.0.1",
|
"@nextcloud/router": "^3.0.1",
|
||||||
"@nextcloud/sharing": "^0.2.1",
|
"@nextcloud/sharing": "^0.2.2",
|
||||||
"cancelable-promise": "^4.3.1",
|
"cancelable-promise": "^4.3.1",
|
||||||
"is-svg": "^5.0.1",
|
"is-svg": "^5.0.1",
|
||||||
|
"typedoc-plugin-missing-exports": "^3.0.0",
|
||||||
"typescript-event-target": "^1.1.1",
|
"typescript-event-target": "^1.1.1",
|
||||||
"webdav": "^5.6.0"
|
"webdav": "^5.6.0"
|
||||||
},
|
},
|
||||||
@@ -3820,21 +3822,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@nextcloud/paths": {
|
"node_modules/@nextcloud/paths": {
|
||||||
"version": "2.1.0",
|
"version": "2.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-2.2.1.tgz",
|
||||||
"integrity": "sha512-8wX0gqwez0bTuAS8A0OEiqbbp0ZsqLr07zSErmS6OYhh9KZcSt/kO6lQV5tnrFqIqJVsxwz4kHUjtZXh6DSf9Q==",
|
"integrity": "sha512-M3ShLjrxR7B48eKThLMoqbxTqTKyQXcwf9TgeXQGbCIhiHoXU6as5j8l5qNv/uZlANokVdowpuWHBi3b2+YNNA==",
|
||||||
"dependencies": {
|
"engines": {
|
||||||
"core-js": "^3.6.4"
|
"node": "^20.0.0",
|
||||||
}
|
"npm": "^10.0.0"
|
||||||
},
|
|
||||||
"node_modules/@nextcloud/paths/node_modules/core-js": {
|
|
||||||
"version": "3.33.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz",
|
|
||||||
"integrity": "sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==",
|
|
||||||
"hasInstallScript": true,
|
|
||||||
"funding": {
|
|
||||||
"type": "opencollective",
|
|
||||||
"url": "https://opencollective.com/core-js"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@nextcloud/router": {
|
"node_modules/@nextcloud/router": {
|
||||||
@@ -3901,9 +3894,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@nextcloud/vue": {
|
"node_modules/@nextcloud/vue": {
|
||||||
"version": "8.14.0",
|
"version": "8.15.1",
|
||||||
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-8.14.0.tgz",
|
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-8.15.1.tgz",
|
||||||
"integrity": "sha512-hB3dG7tZWpItC74PfbTLW02754qYXFDH+h7Ksq6b7e8WlhnKLWrhNGKhSpNDt9/g+vb5bSIOxbiDZIJZ63hAuQ==",
|
"integrity": "sha512-gZEcXPNhRGYhjSd/IeTs0jQ5P8tPIv9BJm5A8qsdpB1Mb/Xb9suhJv1xHaeGcOGoUCcs7A66coPkCgv1zcSJ2w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@floating-ui/dom": "^1.1.0",
|
"@floating-ui/dom": "^1.1.0",
|
||||||
"@linusborg/vue-simple-portal": "^0.1.5",
|
"@linusborg/vue-simple-portal": "^0.1.5",
|
||||||
@@ -3916,6 +3909,7 @@
|
|||||||
"@nextcloud/l10n": "^3.0.1",
|
"@nextcloud/l10n": "^3.0.1",
|
||||||
"@nextcloud/logger": "^3.0.1",
|
"@nextcloud/logger": "^3.0.1",
|
||||||
"@nextcloud/router": "^3.0.0",
|
"@nextcloud/router": "^3.0.0",
|
||||||
|
"@nextcloud/sharing": "^0.2.2",
|
||||||
"@nextcloud/timezones": "^0.1.1",
|
"@nextcloud/timezones": "^0.1.1",
|
||||||
"@nextcloud/vue-select": "^3.25.0",
|
"@nextcloud/vue-select": "^3.25.0",
|
||||||
"@vueuse/components": "^10.9.0",
|
"@vueuse/components": "^10.9.0",
|
||||||
@@ -4240,6 +4234,24 @@
|
|||||||
"url": "https://opencollective.com/core-js"
|
"url": "https://opencollective.com/core-js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@shikijs/core": {
|
||||||
|
"version": "1.12.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.12.0.tgz",
|
||||||
|
"integrity": "sha512-mc1cLbm6UQ8RxLc0dZES7v5rkH+99LxQp/ZvTqV3NLyYsO/fD6JhEflP1H5b2SDq9gI0+0G36AVZWxvounfR9w==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/hast": "^3.0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@shikijs/core/node_modules/@types/hast": {
|
||||||
|
"version": "3.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
|
||||||
|
"integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/unist": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@sideway/address": {
|
"node_modules/@sideway/address": {
|
||||||
"version": "4.1.4",
|
"version": "4.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz",
|
||||||
@@ -6886,9 +6898,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/chroma-js": {
|
"node_modules/chroma-js": {
|
||||||
"version": "2.4.2",
|
"version": "2.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.6.0.tgz",
|
||||||
"integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A=="
|
"integrity": "sha512-BLHvCB9s8Z1EV4ethr6xnkl/P2YRFOGqfgvuMG/MyCbZPrTA+NeiByY6XvgF0zP4/2deU2CXnWyMa3zu1LqQ3A=="
|
||||||
},
|
},
|
||||||
"node_modules/chrome-trace-event": {
|
"node_modules/chrome-trace-event": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
@@ -7717,13 +7729,13 @@
|
|||||||
"integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA=="
|
"integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA=="
|
||||||
},
|
},
|
||||||
"node_modules/cypress": {
|
"node_modules/cypress": {
|
||||||
"version": "13.13.0",
|
"version": "13.13.2",
|
||||||
"resolved": "https://registry.npmjs.org/cypress/-/cypress-13.13.0.tgz",
|
"resolved": "https://registry.npmjs.org/cypress/-/cypress-13.13.2.tgz",
|
||||||
"integrity": "sha512-ou/MQUDq4tcDJI2FsPaod2FZpex4kpIK43JJlcBgWrX8WX7R/05ZxGTuxedOuZBfxjZxja+fbijZGyxiLP6CFA==",
|
"integrity": "sha512-PvJQU33933NvS1StfzEb8/mu2kMy4dABwCF+yd5Bi7Qly1HOVf+Bufrygee/tlmty/6j5lX+KIi8j9Q3JUMbhA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@cypress/request": "^3.0.0",
|
"@cypress/request": "^3.0.1",
|
||||||
"@cypress/xvfb": "^1.2.4",
|
"@cypress/xvfb": "^1.2.4",
|
||||||
"@types/sinonjs__fake-timers": "8.1.1",
|
"@types/sinonjs__fake-timers": "8.1.1",
|
||||||
"@types/sizzle": "^2.3.2",
|
"@types/sizzle": "^2.3.2",
|
||||||
@@ -10006,9 +10018,9 @@
|
|||||||
"peer": true
|
"peer": true
|
||||||
},
|
},
|
||||||
"node_modules/fast-xml-parser": {
|
"node_modules/fast-xml-parser": {
|
||||||
"version": "4.3.6",
|
"version": "4.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz",
|
||||||
"integrity": "sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==",
|
"integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "github",
|
"type": "github",
|
||||||
@@ -14377,6 +14389,12 @@
|
|||||||
"yallist": "^2.1.2"
|
"yallist": "^2.1.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/lunr": {
|
||||||
|
"version": "2.3.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
|
||||||
|
"integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
|
||||||
|
"peer": true
|
||||||
|
},
|
||||||
"node_modules/make-dir": {
|
"node_modules/make-dir": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
|
||||||
@@ -18098,6 +18116,25 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/shiki": {
|
||||||
|
"version": "1.12.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/shiki/-/shiki-1.12.0.tgz",
|
||||||
|
"integrity": "sha512-BuAxWOm5JhRcbSOl7XCei8wGjgJJonnV0oipUupPY58iULxUGyHhW5CF+9FRMuM1pcJ5cGEJGll1LusX6FwpPA==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@shikijs/core": "1.12.0",
|
||||||
|
"@types/hast": "^3.0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/shiki/node_modules/@types/hast": {
|
||||||
|
"version": "3.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
|
||||||
|
"integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/unist": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/side-channel": {
|
"node_modules/side-channel": {
|
||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
|
||||||
@@ -19659,11 +19696,64 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/typedoc": {
|
||||||
|
"version": "0.26.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.5.tgz",
|
||||||
|
"integrity": "sha512-Vn9YKdjKtDZqSk+by7beZ+xzkkr8T8CYoiasqyt4TTRFy5+UHzL/mF/o4wGBjRF+rlWQHDb0t6xCpA3JNL5phg==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"lunr": "^2.3.9",
|
||||||
|
"markdown-it": "^14.1.0",
|
||||||
|
"minimatch": "^9.0.5",
|
||||||
|
"shiki": "^1.9.1",
|
||||||
|
"yaml": "^2.4.5"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"typedoc": "bin/typedoc"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 18"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/typedoc-plugin-missing-exports": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-R7D8fYrK34mBFZSlF1EqJxfqiUSlQSmyrCiQgTQD52nNm6+kUtqwiaqaNkuJ2rA2wBgWFecUA8JzHT7x2r7ePg==",
|
||||||
|
"peerDependencies": {
|
||||||
|
"typedoc": "0.26.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/typedoc/node_modules/brace-expansion": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"balanced-match": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/typedoc/node_modules/minimatch": {
|
||||||
|
"version": "9.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
|
||||||
|
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"brace-expansion": "^2.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=16 || 14 >=14.17"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/typescript": {
|
"node_modules/typescript": {
|
||||||
"version": "5.2.2",
|
"version": "5.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
|
||||||
"integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
|
"integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
|
||||||
"dev": true,
|
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
@@ -21107,6 +21197,18 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
|
"node_modules/yaml": {
|
||||||
|
"version": "2.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz",
|
||||||
|
"integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==",
|
||||||
|
"peer": true,
|
||||||
|
"bin": {
|
||||||
|
"yaml": "bin.mjs"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 14"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/yargs": {
|
"node_modules/yargs": {
|
||||||
"version": "17.7.2",
|
"version": "17.7.2",
|
||||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
||||||
|
|||||||
12
package.json
12
package.json
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "deck",
|
"name": "deck",
|
||||||
"description": "",
|
"description": "",
|
||||||
"version": "1.14.0-dev",
|
"version": "1.14.0-beta.1",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "Julius Härtl",
|
"name": "Julius Härtl",
|
||||||
@@ -31,21 +31,21 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/polyfill": "^7.12.1",
|
"@babel/polyfill": "^7.12.1",
|
||||||
"@babel/runtime": "^7.24.7",
|
"@babel/runtime": "^7.24.8",
|
||||||
"@nextcloud/auth": "^2.3.0",
|
"@nextcloud/auth": "^2.3.0",
|
||||||
"@nextcloud/axios": "^2.5.0",
|
"@nextcloud/axios": "^2.5.0",
|
||||||
"@nextcloud/capabilities": "^1.2.0",
|
"@nextcloud/capabilities": "^1.2.0",
|
||||||
"@nextcloud/dialogs": "^5.3.5",
|
"@nextcloud/dialogs": "^5.3.5",
|
||||||
"@nextcloud/event-bus": "^3.3.1",
|
"@nextcloud/event-bus": "^3.3.1",
|
||||||
"@nextcloud/files": "^3.5.1",
|
"@nextcloud/files": "^3.7.0",
|
||||||
"@nextcloud/initial-state": "^2.2.0",
|
"@nextcloud/initial-state": "^2.2.0",
|
||||||
"@nextcloud/l10n": "^3.1.0",
|
"@nextcloud/l10n": "^3.1.0",
|
||||||
"@nextcloud/moment": "^1.3.1",
|
"@nextcloud/moment": "^1.3.1",
|
||||||
"@nextcloud/notify_push": "^1.3.0",
|
"@nextcloud/notify_push": "^1.3.0",
|
||||||
"@nextcloud/router": "^3.0.1",
|
"@nextcloud/router": "^3.0.1",
|
||||||
"@nextcloud/vue": "^8.14.0",
|
"@nextcloud/vue": "^8.15.1",
|
||||||
"blueimp-md5": "^2.19.0",
|
"blueimp-md5": "^2.19.0",
|
||||||
"chroma-js": "^2.4.2",
|
"chroma-js": "^2.6.0",
|
||||||
"dompurify": "^3.1.6",
|
"dompurify": "^3.1.6",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"markdown-it": "^14.1.0",
|
"markdown-it": "^14.1.0",
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
"@relative-ci/agent": "^4.2.9",
|
"@relative-ci/agent": "^4.2.9",
|
||||||
"@vue/test-utils": "^2.4.6",
|
"@vue/test-utils": "^2.4.6",
|
||||||
"@vue/vue2-jest": "^29.2.6",
|
"@vue/vue2-jest": "^29.2.6",
|
||||||
"cypress": "^13.13.0",
|
"cypress": "^13.13.2",
|
||||||
"eslint-plugin-cypress": "^3.3.0",
|
"eslint-plugin-cypress": "^3.3.0",
|
||||||
"eslint-webpack-plugin": "^4.2.0",
|
"eslint-webpack-plugin": "^4.2.0",
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ export default {
|
|||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
.activity--message {
|
.activity--message {
|
||||||
margin-left: 44px;
|
margin-left: var(--default-clickable-area);
|
||||||
color: var(--color-text-light);
|
color: var(--color-text-light);
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -476,8 +476,8 @@ export default {
|
|||||||
.controls {
|
.controls {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
height: 44px;
|
height: var(--default-clickable-area);
|
||||||
padding-left: 44px;
|
padding-left: var(--default-clickable-area);
|
||||||
|
|
||||||
.board-title {
|
.board-title {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -507,8 +507,8 @@ export default {
|
|||||||
|
|
||||||
#app-navigation-toggle-custom {
|
#app-navigation-toggle-custom {
|
||||||
position: static;
|
position: static;
|
||||||
width: 44px;
|
width: var(--default-clickable-area);
|
||||||
height: 44px;
|
height: var(--default-clickable-area);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
display: inline-block !important;
|
display: inline-block !important;
|
||||||
@@ -567,8 +567,8 @@ export default {
|
|||||||
.filter-button {
|
.filter-button {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
width: 44px;
|
width: var(--default-clickable-area);
|
||||||
height: 44px;
|
height: var(--default-clickable-area);
|
||||||
|
|
||||||
&[data-popper-shown] {
|
&[data-popper-shown] {
|
||||||
background-color: var(--color-background-hover);
|
background-color: var(--color-background-hover);
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ export default {
|
|||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
||||||
.avatar-list {
|
.avatar-list {
|
||||||
min-height: 44px;
|
min-height: var(--default-clickable-area);
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-right: 0.5em;
|
padding-right: 0.5em;
|
||||||
border: none;
|
border: none;
|
||||||
|
|||||||
@@ -250,7 +250,7 @@ export default {
|
|||||||
.board {
|
.board {
|
||||||
padding-left: $board-spacing;
|
padding-left: $board-spacing;
|
||||||
position: relative;
|
position: relative;
|
||||||
max-height: calc(100% - 44px);
|
max-height: calc(100% - var(--default-clickable-area));
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<!--
|
<!--
|
||||||
- SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
|
- SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
|
||||||
- SPDX-License-Identifier: AGPL-3.0-or-later
|
- SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -100,3 +100,12 @@ export default {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
:deep {
|
||||||
|
.app-sidebar-tabs__tab-caption,
|
||||||
|
.app-sidebar-tabs__nav .checkbox-content__text {
|
||||||
|
white-space: normal !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<h3>{{ t('deck', 'Deleted lists') }}</h3>
|
<h5>{{ t('deck', 'Deleted lists') }}</h5>
|
||||||
<ul>
|
<ul>
|
||||||
<li v-for="deletedStack in deletedStacks" :key="deletedStack.id">
|
<li v-for="deletedStack in deletedStacks" :key="deletedStack.id">
|
||||||
<span class="icon icon-deck" />
|
<span class="icon icon-deck" />
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h3>{{ t('deck', 'Deleted cards') }}</h3>
|
<h5>{{ t('deck', 'Deleted cards') }}</h5>
|
||||||
<ul>
|
<ul>
|
||||||
<li v-for="deletedCard in deletedCards" :key="deletedCard.id">
|
<li v-for="deletedCard in deletedCards" :key="deletedCard.id">
|
||||||
<div class="icon icon-deck" />
|
<div class="icon icon-deck" />
|
||||||
@@ -102,7 +102,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
* {
|
* {
|
||||||
flex-basis: 44px;
|
flex-basis: var(--default-clickable-area);
|
||||||
}
|
}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<!--
|
<!--
|
||||||
- SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
|
- SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
|
||||||
- SPDX-License-Identifier: AGPL-3.0-or-later
|
- SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -100,6 +100,7 @@
|
|||||||
:placeholder="t('deck', 'Card name')"
|
:placeholder="t('deck', 'Card name')"
|
||||||
required
|
required
|
||||||
pattern=".*\S+.*"
|
pattern=".*\S+.*"
|
||||||
|
@focus="onCreateCardFocus"
|
||||||
@keydown.esc="stopCardCreation">
|
@keydown.esc="stopCardCreation">
|
||||||
<input v-show="!stateCardCreating"
|
<input v-show="!stateCardCreating"
|
||||||
class="icon-confirm"
|
class="icon-confirm"
|
||||||
@@ -211,6 +212,13 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
showAddCard(newValue) {
|
||||||
|
if (!newValue) {
|
||||||
|
this.$store.dispatch('toggleShortcutLock', false)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
stopCardCreation(e) {
|
stopCardCreation(e) {
|
||||||
@@ -261,7 +269,7 @@ export default {
|
|||||||
},
|
},
|
||||||
startEditing(stack) {
|
startEditing(stack) {
|
||||||
if (this.dragging) {
|
if (this.dragging) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
this.copiedStack = Object.assign({}, stack)
|
this.copiedStack = Object.assign({}, stack)
|
||||||
@@ -300,6 +308,9 @@ export default {
|
|||||||
this.stateCardCreating = false
|
this.stateCardCreating = false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
onCreateCardFocus() {
|
||||||
|
this.$store.dispatch('toggleShortcutLock', true)
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -322,7 +333,7 @@ export default {
|
|||||||
padding-left: $card-spacing;
|
padding-left: $card-spacing;
|
||||||
padding-right: $card-spacing;
|
padding-right: $card-spacing;
|
||||||
cursor: grab;
|
cursor: grab;
|
||||||
min-height: 44px;
|
min-height: var(--default-clickable-area);
|
||||||
|
|
||||||
// Smooth fade out of the cards at the top
|
// Smooth fade out of the cards at the top
|
||||||
&:before {
|
&:before {
|
||||||
@@ -374,6 +385,7 @@ export default {
|
|||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
margin: 6px;
|
margin: 6px;
|
||||||
padding: 4px 4px;
|
padding: 4px 4px;
|
||||||
|
font-size: 120%;
|
||||||
|
|
||||||
&:focus-visible {
|
&:focus-visible {
|
||||||
outline: 2px solid var(--color-border-dark);
|
outline: 2px solid var(--color-border-dark);
|
||||||
@@ -384,10 +396,17 @@ export default {
|
|||||||
form {
|
form {
|
||||||
margin: 2px 0;
|
margin: 2px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:deep {
|
||||||
|
.action-item,
|
||||||
|
.v-popper--theme-dropdown {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.stack__card-add {
|
.stack__card-add {
|
||||||
height: 44px;
|
height: var(--default-clickable-area);
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ export default {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
$clickable-area: 44px;
|
$clickable-area: var(--default-clickable-area);
|
||||||
|
|
||||||
.labels li {
|
.labels li {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ export default {
|
|||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.board-list {
|
.board-list {
|
||||||
margin-top: -44px;
|
margin-top: - var(--default-clickable-area); //@TODO
|
||||||
|
|
||||||
.board-list-row {
|
.board-list-row {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -77,7 +77,7 @@ export default {
|
|||||||
|
|
||||||
.board-list-header-row {
|
.board-list-header-row {
|
||||||
color: var(--color-text-lighter);
|
color: var(--color-text-lighter);
|
||||||
height: 44px;
|
height: var(--default-clickable-area);
|
||||||
}
|
}
|
||||||
|
|
||||||
.board-list-bullet-cell,
|
.board-list-bullet-cell,
|
||||||
|
|||||||
@@ -253,10 +253,10 @@ export default {
|
|||||||
gap: calc(var(--default-grid-baseline) * 3);
|
gap: calc(var(--default-grid-baseline) * 3);
|
||||||
|
|
||||||
.icon-upload, .icon-folder {
|
.icon-upload, .icon-folder {
|
||||||
padding-left: 44px;
|
padding-left: var(--default-clickable-area);
|
||||||
background-position: 16px center;
|
background-position: 16px center;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
height: 44px;
|
height: var(--default-clickable-area);
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
@@ -291,7 +291,7 @@ export default {
|
|||||||
li.attachment {
|
li.attachment {
|
||||||
display: flex;
|
display: flex;
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
min-height: 44px;
|
min-height: var(--default-clickable-area);
|
||||||
|
|
||||||
&.deleted {
|
&.deleted {
|
||||||
opacity: .5;
|
opacity: .5;
|
||||||
@@ -339,7 +339,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
button.icon-history {
|
button.icon-history {
|
||||||
width: 44px;
|
width: var(--default-clickable-area);
|
||||||
}
|
}
|
||||||
progress {
|
progress {
|
||||||
margin-top: 3px;
|
margin-top: 3px;
|
||||||
|
|||||||
@@ -221,7 +221,7 @@ section.app-sidebar__tab--active {
|
|||||||
right: 0;
|
right: 0;
|
||||||
max-width: calc(100% - #{$modal-padding * 2});
|
max-width: calc(100% - #{$modal-padding * 2});
|
||||||
padding: 0 14px;
|
padding: 0 14px;
|
||||||
height: auto;
|
height: 97%;
|
||||||
overflow: initial;
|
overflow: initial;
|
||||||
user-select: text;
|
user-select: text;
|
||||||
-webkit-user-select: text;
|
-webkit-user-select: text;
|
||||||
|
|||||||
@@ -213,7 +213,7 @@ export default {
|
|||||||
@import '../../css/comments';
|
@import '../../css/comments';
|
||||||
|
|
||||||
.reply {
|
.reply {
|
||||||
margin: 0 0 0 44px;
|
margin: 0 0 0 var(--default-clickable-area);
|
||||||
|
|
||||||
&.reply--preview {
|
&.reply--preview {
|
||||||
margin: 4px 0;
|
margin: 4px 0;
|
||||||
|
|||||||
@@ -367,7 +367,7 @@ h5 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.description__text :deep(.ProseMirror) {
|
.description__text :deep(.ProseMirror) {
|
||||||
padding-bottom: 44px;
|
padding-bottom: var(--default-clickable-area);
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
@@ -423,6 +423,6 @@ h5 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.modal__card .description__text .text-menubar {
|
.modal__card .description__text .text-menubar {
|
||||||
top: 142px !important;
|
top: 0;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -109,6 +109,7 @@ export default {
|
|||||||
showArchived: state => state.showArchived,
|
showArchived: state => state.showArchived,
|
||||||
currentBoard: state => state.currentBoard,
|
currentBoard: state => state.currentBoard,
|
||||||
showCardCover: state => state.showCardCover,
|
showCardCover: state => state.showCardCover,
|
||||||
|
shortcutLock: state => state.shortcutLock,
|
||||||
}),
|
}),
|
||||||
...mapGetters([
|
...mapGetters([
|
||||||
'isArchived',
|
'isArchived',
|
||||||
@@ -184,6 +185,9 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
focus(card) {
|
focus(card) {
|
||||||
|
if (this.shortcutLock) {
|
||||||
|
return
|
||||||
|
}
|
||||||
card = this.$refs[`card${card}`]
|
card = this.$refs[`card${card}`]
|
||||||
card.focus()
|
card.focus()
|
||||||
},
|
},
|
||||||
@@ -338,7 +342,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.card-menu {
|
.card-menu {
|
||||||
height: 44px;
|
height: var(--default-clickable-area);
|
||||||
align-self: end;
|
align-self: end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -391,7 +395,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.compact {
|
.compact {
|
||||||
min-height: 44px;
|
min-height: var(--default-clickable-area);
|
||||||
|
|
||||||
.duedate {
|
.duedate {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ export default {
|
|||||||
.board-create {
|
.board-create {
|
||||||
order: 1;
|
order: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
height: 44px;
|
height: var(--default-clickable-area);
|
||||||
|
|
||||||
form {
|
form {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -86,8 +86,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.app-navigation-entry-bullet-wrapper {
|
.app-navigation-entry-bullet-wrapper {
|
||||||
width: 44px;
|
width: var(--default-clickable-area);
|
||||||
height: 44px;
|
height: var(--default-clickable-area);
|
||||||
.color0 {
|
.color0 {
|
||||||
width: 30px !important;
|
width: 30px !important;
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
|
|||||||
@@ -319,10 +319,10 @@ export default {
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.board-edit {
|
.board-edit {
|
||||||
margin-left: 44px;
|
margin-left: var(--default-clickable-area);
|
||||||
order: 1;
|
order: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
height: 44px;
|
height: var(--default-clickable-area);
|
||||||
|
|
||||||
form {
|
form {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -335,8 +335,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.app-navigation-entry-bullet-wrapper {
|
.app-navigation-entry-bullet-wrapper {
|
||||||
width: 44px;
|
width: var(--default-clickable-area);
|
||||||
height: 44px;
|
height: var(--default-clickable-area);
|
||||||
.color0 {
|
.color0 {
|
||||||
width: 30px !important;
|
width: 30px !important;
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ export default {
|
|||||||
|
|
||||||
.overview {
|
.overview {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: calc(100% - 44px);
|
height: calc(100% - var(--default-clickable-area));
|
||||||
overflow-x: scroll;
|
overflow-x: scroll;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ export default {
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '../../css/variables';
|
@import '../../css/variables';
|
||||||
$clickable-area: 44px;
|
$clickable-area: var(--default-clickable-area);
|
||||||
|
|
||||||
.card--placeholder {
|
.card--placeholder {
|
||||||
width: $stack-width;
|
width: $stack-width;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
.editor__content:deep {
|
.editor__content:deep {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
margin-left: 44px;
|
margin-left: var(--default-clickable-area);
|
||||||
|
|
||||||
.ProseMirror {
|
.ProseMirror {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -17,8 +17,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
input[type='submit'] {
|
input[type='submit'] {
|
||||||
width: 44px;
|
width: var(--default-clickable-area);
|
||||||
height: 44px;
|
height: var(--default-clickable-area);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 13px;
|
padding: 13px;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
@@ -51,6 +51,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.comment--content {
|
.comment--content {
|
||||||
margin-left: 44px;
|
margin-left: var(--default-clickable-area);
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
|
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const rawToParsed = (text) => {
|
const rawToParsed = (text) => {
|
||||||
text = text.replace(/<br>/g, '\n')
|
text = text.replace(/<br>/g, '\n')
|
||||||
text = text.replace(/ /g, ' ')
|
text = text.replace(/ /g, ' ')
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
|
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const xmlToJson = (xml) => {
|
const xmlToJson = (xml) => {
|
||||||
let obj = {}
|
let obj = {}
|
||||||
if (xml.nodeType === 1) {
|
if (xml.nodeType === 1) {
|
||||||
|
|||||||
@@ -18,8 +18,6 @@ Vue.prototype.OC = OC
|
|||||||
window.addEventListener('DOMContentLoaded', () => {
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
if (OCA.Sharing && OCA.Sharing.ShareSearch) {
|
if (OCA.Sharing && OCA.Sharing.ShareSearch) {
|
||||||
OCA.Sharing.ShareSearch.addNewResult(FileSharingPicker)
|
OCA.Sharing.ShareSearch.addNewResult(FileSharingPicker)
|
||||||
} else {
|
|
||||||
console.error('OCA.Sharing.ShareSearch not ready')
|
|
||||||
}
|
}
|
||||||
|
|
||||||
window.OCP.Collaboration.registerType('deck', {
|
window.OCP.Collaboration.registerType('deck', {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "~9",
|
"phpunit/phpunit": "~9",
|
||||||
"behat/behat": "~3.14.0",
|
"behat/behat": "~3.14.0",
|
||||||
"guzzlehttp/guzzle": "7.8.1",
|
"guzzlehttp/guzzle": "7.9.2",
|
||||||
"jarnaiz/behat-junit-formatter": "^1.3",
|
"jarnaiz/behat-junit-formatter": "^1.3",
|
||||||
"sabre/dav": "4.6.0",
|
"sabre/dav": "4.6.0",
|
||||||
"symfony/event-dispatcher": "~5.4"
|
"symfony/event-dispatcher": "~5.4"
|
||||||
|
|||||||
@@ -16,7 +16,13 @@ class ServerContext implements Context {
|
|||||||
|
|
||||||
public function __construct($baseUrl) {
|
public function __construct($baseUrl) {
|
||||||
$this->rawBaseUrl = $baseUrl;
|
$this->rawBaseUrl = $baseUrl;
|
||||||
$this->__tConstruct($baseUrl . '/index.php/ocs/', ['admin', 'admin'], '123456');
|
|
||||||
|
$testServerUrl = getenv('BEHAT_SERVER_URL');
|
||||||
|
if ($testServerUrl !== false) {
|
||||||
|
$this->rawBaseUrl = rtrim($testServerUrl, '/');
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->__tConstruct($this->rawBaseUrl . '/ocs/', ['admin', 'admin'], '123456');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ use OCA\Deck\Command\BoardImport;
|
|||||||
use OCA\Deck\Command\UserExport;
|
use OCA\Deck\Command\UserExport;
|
||||||
use OCA\Deck\Service\BoardService;
|
use OCA\Deck\Service\BoardService;
|
||||||
use OCA\Deck\Service\CardService;
|
use OCA\Deck\Service\CardService;
|
||||||
|
use OCA\Deck\Service\CommentService;
|
||||||
use OCA\Deck\Service\Importer\BoardImportService;
|
use OCA\Deck\Service\Importer\BoardImportService;
|
||||||
use OCA\Deck\Service\Importer\Systems\DeckJsonService;
|
use OCA\Deck\Service\Importer\Systems\DeckJsonService;
|
||||||
use OCA\Deck\Service\PermissionService;
|
use OCA\Deck\Service\PermissionService;
|
||||||
@@ -194,6 +195,7 @@ class ImportExportTest extends \Test\TestCase {
|
|||||||
self::getFreshService(StackMapper::class),
|
self::getFreshService(StackMapper::class),
|
||||||
self::getFreshService(CardMapper::class),
|
self::getFreshService(CardMapper::class),
|
||||||
self::getFreshService(AssignmentMapper::class),
|
self::getFreshService(AssignmentMapper::class),
|
||||||
|
self::getFreshService(CommentService::class)
|
||||||
);
|
);
|
||||||
$exporter->setApplication($application);
|
$exporter->setApplication($application);
|
||||||
$exporter->run($input, $output);
|
$exporter->run($input, $output);
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Command;
|
namespace OCA\Deck\Command;
|
||||||
|
|
||||||
|
use OC\Comments\Comment;
|
||||||
use OCA\Deck\Db\AssignmentMapper;
|
use OCA\Deck\Db\AssignmentMapper;
|
||||||
use OCA\Deck\Db\Board;
|
use OCA\Deck\Db\Board;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
@@ -31,7 +32,9 @@ use OCA\Deck\Db\CardMapper;
|
|||||||
use OCA\Deck\Db\Stack;
|
use OCA\Deck\Db\Stack;
|
||||||
use OCA\Deck\Db\StackMapper;
|
use OCA\Deck\Db\StackMapper;
|
||||||
use OCA\Deck\Service\BoardService;
|
use OCA\Deck\Service\BoardService;
|
||||||
|
use OCA\Deck\Service\CommentService;
|
||||||
use OCP\App\IAppManager;
|
use OCP\App\IAppManager;
|
||||||
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IGroupManager;
|
use OCP\IGroupManager;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use Symfony\Component\Console\Input\InputInterface;
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
@@ -46,6 +49,7 @@ class UserExportTest extends \Test\TestCase {
|
|||||||
protected $assignedUserMapper;
|
protected $assignedUserMapper;
|
||||||
protected $userManager;
|
protected $userManager;
|
||||||
protected $groupManager;
|
protected $groupManager;
|
||||||
|
protected $commentService;
|
||||||
|
|
||||||
private UserExport $userExport;
|
private UserExport $userExport;
|
||||||
|
|
||||||
@@ -59,7 +63,8 @@ class UserExportTest extends \Test\TestCase {
|
|||||||
$this->assignedUserMapper = $this->createMock(AssignmentMapper::class);
|
$this->assignedUserMapper = $this->createMock(AssignmentMapper::class);
|
||||||
$this->userManager = $this->createMock(IUserManager::class);
|
$this->userManager = $this->createMock(IUserManager::class);
|
||||||
$this->groupManager = $this->createMock(IGroupManager::class);
|
$this->groupManager = $this->createMock(IGroupManager::class);
|
||||||
$this->userExport = new UserExport($this->appManager, $this->boardMapper, $this->boardService, $this->stackMapper, $this->cardMapper, $this->assignedUserMapper, $this->userManager, $this->groupManager);
|
$this->commentService = $this->createMock(CommentService::class);
|
||||||
|
$this->userExport = new UserExport($this->appManager, $this->boardMapper, $this->boardService, $this->stackMapper, $this->cardMapper, $this->assignedUserMapper, $this->commentService);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getBoard($id) {
|
public function getBoard($id) {
|
||||||
@@ -80,6 +85,13 @@ class UserExportTest extends \Test\TestCase {
|
|||||||
$card->setTitle('Card ' . $id);
|
$card->setTitle('Card ' . $id);
|
||||||
return $card;
|
return $card;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getComment($id) {
|
||||||
|
$comment = new Comment();
|
||||||
|
$comment->setActor("users", "admin");
|
||||||
|
$comment->setMessage("fake comment" . $id);
|
||||||
|
return $comment;
|
||||||
|
}
|
||||||
public function testExecute() {
|
public function testExecute() {
|
||||||
$input = $this->createMock(InputInterface::class);
|
$input = $this->createMock(InputInterface::class);
|
||||||
$input->expects($this->once())->method('getArgument')->with('user-id')->willReturn('admin');
|
$input->expects($this->once())->method('getArgument')->with('user-id')->willReturn('admin');
|
||||||
@@ -107,6 +119,13 @@ class UserExportTest extends \Test\TestCase {
|
|||||||
$this->getCard(2),
|
$this->getCard(2),
|
||||||
$this->getCard(3),
|
$this->getCard(3),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$comments = [
|
||||||
|
$this->getComment(1),
|
||||||
|
$this->getComment(2),
|
||||||
|
$this->getComment(3),
|
||||||
|
];
|
||||||
|
$this->commentService->expects($this->exactly(count($cards) * count($stacks) * count($boards)))->method('list')->willReturn(new DataResponse($comments));
|
||||||
$this->cardMapper->expects($this->exactly(count($boards) * count($stacks)))
|
$this->cardMapper->expects($this->exactly(count($boards) * count($stacks)))
|
||||||
->method('findAllByStack')
|
->method('findAllByStack')
|
||||||
->willReturn($cards);
|
->willReturn($cards);
|
||||||
|
|||||||
Reference in New Issue
Block a user