mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2026-09-09 18:02:54 +00:00
Merge branch 'development' of https://github.com/Alfresco/alfresco-content-app into dev-pionnegru-ACA-2623
This commit is contained in:
@@ -45,3 +45,8 @@ jobs:
|
||||
script: npm run build.e2e && SUITE="--suite sharingContent" npm run e2e:docker
|
||||
- name: Test Suite viewContent&metadata&extensions
|
||||
script: npm run build.e2e && SUITE="--suite viewer,infoDrawer,extensions" npm run e2e:docker
|
||||
|
||||
after_failure:
|
||||
- alfrescoContainerId=$(docker ps -a | grep 'alfresco-content-repository-community' | awk '{print $1}')
|
||||
- docker logs $alfrescoContainerId > alfresco.log
|
||||
- cat alfresco.log
|
||||
|
||||
+1
-2
@@ -28,8 +28,7 @@ COPY --from=builder /usr/src/alfresco/licenses ./licenses
|
||||
|
||||
RUN addgroup -g ${GROUPID} ${GROUPNAME} && \
|
||||
adduser -S -u ${USERID} -G ${GROUPNAME} -s "/bin/bash" ${USERNAME} && \
|
||||
chown -R ${USERNAME}:${GROUPNAME} ./app.config.json && \
|
||||
chown -R ${USERNAME}:${GROUPNAME} ./index.html && \
|
||||
chown -R ${USERNAME}:${GROUPNAME} /usr/share/nginx/html && \
|
||||
chown -R ${USERNAME}:${GROUPNAME} /var/cache/nginx && \
|
||||
touch /var/run/nginx.pid && \
|
||||
chown -R ${USERNAME}:${GROUPNAME} /var/run/nginx.pid && \
|
||||
|
||||
@@ -30,16 +30,14 @@ There are a number of resources available to help get you started with the Conte
|
||||
Issues can be raised in [GitHub] or in the Alfresco JIRA project.
|
||||
Please include a clear description, steps to reproduce and screenshots where appropriate. All issues will be reviewed; bugs will be categorized if reproducible and enhancement/feature suggestions will be considered against existing priorities if the use case serves a general-purpose need.
|
||||
|
||||
#### Features added in the latest release
|
||||
#### What's new in the latest release
|
||||
|
||||
- New language translations (Arabic, Czech, Danish, Finnish, Polish and Swedish)
|
||||
- Automatic display of metadata aspects and properties
|
||||
- Search result facet improvements
|
||||
- Various extensibility improvements and enhancements
|
||||
- Single Log Out
|
||||
- WCAG AA accessibility improvements
|
||||
|
||||
Please refer to the [release notes] for details of all changes.
|
||||
|
||||
#### High level feature themes planned for 2019
|
||||
#### High level feature themes under consideration for future releases
|
||||
|
||||
- Extensibility
|
||||
- Building on the existing framework to further enhance the developer experience
|
||||
@@ -61,6 +59,7 @@ Read up on our guidelines for [contributing] and then check out one of our issue
|
||||
|
||||
| ACA Version | Built with | Tested on |
|
||||
| ----------- | ---------- | --------- |
|
||||
| ACA 1.9 | ADF 3.6.0 | ACS 6.2 |
|
||||
| ACA 1.8 | ADF 3.3.0 | ACS 6.1 |
|
||||
| ACA 1.7 | ADF 3.0.0 | ACS 6.1 |
|
||||
| ACA 1.6 | ADF 2.6.1 | ACS 6.1 |
|
||||
@@ -98,7 +97,9 @@ Read up on our guidelines for [contributing] and then check out one of our issue
|
||||
| 1.8 | Localizations . | Arabic, Czech, Danish, Finnish, Polish and Swedish |
|
||||
| 1.8 | Metadata improvements | Automatic display of aspects and properties |
|
||||
| 1.8 | Search facet improvements | Facet intervals and grouped facet queries |
|
||||
| 1.8 | Extensibility improvements | Various - see [release notes](https://github.com/Alfresco/alfresco-content-app/releases) for details |
|
||||
| 1.8 | Extensibility improvements | Various - see [release notes](https://github.com/Alfresco/alfresco-content-app/releases) for details |
|
||||
| 1.9 | Single Log Out | Users will be automatically logged out from the Content App after logging out from another application in the same browser session |
|
||||
| 1.9 | Accessibility improvements | Various - see [release notes](https://github.com/Alfresco/alfresco-content-app/releases) for details |
|
||||
|
||||
[contributing]: https://github.com/Alfresco/alfresco-content-app/blob/master/CONTRIBUTING.md
|
||||
[github]: https://github.com/Alfresco/alfresco-content-app/issues
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ npm run build.e2e -- --base-href ./
|
||||
node -e "
|
||||
const fs = require('fs');
|
||||
const config = require('./dist/app/app.config.json');
|
||||
config.baseShareUrl = 'http://localhost:4000/content-app/#/preview/s/';
|
||||
config.baseShareUrl = 'http://localhost:8080/content-app/#/preview/s/';
|
||||
fs.writeFileSync(
|
||||
'./dist/app/app.config.json',
|
||||
JSON.stringify(config, null, 2)
|
||||
|
||||
+2
-1
@@ -64,7 +64,8 @@
|
||||
"denysvuika",
|
||||
"submenu",
|
||||
"submenus",
|
||||
"dateitem"
|
||||
"dateitem",
|
||||
"versionable"
|
||||
],
|
||||
"dictionaries": ["html", "en-gb", "en_US"]
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ services:
|
||||
- alfresco
|
||||
- share
|
||||
ports:
|
||||
- 4000:80
|
||||
- 8080:8080
|
||||
|
||||
auth:
|
||||
image: jboss/keycloak:4.8.3.Final
|
||||
|
||||
+77
-43
@@ -2,10 +2,10 @@ version: '2'
|
||||
|
||||
services:
|
||||
alfresco:
|
||||
image: alfresco/alfresco-content-repository-community:6.1.2-ga
|
||||
image: alfresco/alfresco-content-repository-community:latest
|
||||
mem_limit: 1500m
|
||||
depends_on:
|
||||
- postgres
|
||||
volumes:
|
||||
- ./docker/acs-cm:/usr/local/tomcat/shared/classes/alfresco/extension
|
||||
environment:
|
||||
JAVA_OPTS: '
|
||||
-Ddb.driver=org.postgresql.Driver
|
||||
@@ -17,51 +17,92 @@ services:
|
||||
-Dsolr.secureComms=none
|
||||
-Dsolr.base.url=/solr
|
||||
-Dindex.subsystem.name=solr6
|
||||
-Dshare.host=localhost
|
||||
-Dshare.host=127.0.0.1
|
||||
-Dshare.port=8080
|
||||
-Dalfresco.host=localhost
|
||||
-Dalfresco.port=8080
|
||||
-Daos.baseUrlOverwrite=http://localhost:8080/alfresco/aos
|
||||
-Dmessaging.broker.url="failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true"
|
||||
-Ddeployment.method=DOCKER_COMPOSE
|
||||
-Dlocal.transform.service.enabled=true
|
||||
-DlocalTransform.pdfrenderer.url=http://alfresco-pdf-renderer:8090/
|
||||
-DlocalTransform.imagemagick.url=http://imagemagick:8090/
|
||||
-DlocalTransform.libreoffice.url=http://libreoffice:8090/
|
||||
-DlocalTransform.tika.url=http://tika:8090/
|
||||
-DlocalTransform.misc.url=http://transform-misc:8090/
|
||||
-Dlegacy.transform.service.enabled=true
|
||||
-Dalfresco-pdf-renderer.url=http://alfresco-pdf-renderer:8090/
|
||||
-Djodconverter.url=http://libreoffice:8090/
|
||||
-Dimg.url=http://imagemagick:8090/
|
||||
-Dtika.url=http://tika:8090/
|
||||
-Dtransform.misc.url=http://transform-misc:8090/
|
||||
-Dcsrf.filter.enabled=false
|
||||
-Xms1g -Xmx1g
|
||||
-Xms1500m -Xmx1500m
|
||||
'
|
||||
networks:
|
||||
- internal
|
||||
|
||||
alfresco-pdf-renderer:
|
||||
image: alfresco/alfresco-pdf-renderer:2.1.0
|
||||
mem_limit: 1g
|
||||
environment:
|
||||
JAVA_OPTS: ' -Xms256m -Xmx512m'
|
||||
ports:
|
||||
- 8080:8080 #Browser port
|
||||
- 8090:8090
|
||||
|
||||
imagemagick:
|
||||
image: alfresco/alfresco-imagemagick:2.1.0
|
||||
mem_limit: 1g
|
||||
environment:
|
||||
JAVA_OPTS: ' -Xms256m -Xmx512m'
|
||||
ports:
|
||||
- 8091:8090
|
||||
|
||||
libreoffice:
|
||||
image: alfresco/alfresco-libreoffice:2.1.0
|
||||
mem_limit: 1g
|
||||
environment:
|
||||
JAVA_OPTS: ' -Xms256m -Xmx512m'
|
||||
ports:
|
||||
- 8092:8090
|
||||
|
||||
tika:
|
||||
image: alfresco/alfresco-tika:2.1.0
|
||||
mem_limit: 1g
|
||||
environment:
|
||||
JAVA_OPTS: ' -Xms256m -Xmx512m'
|
||||
ports:
|
||||
- 8093:8090
|
||||
|
||||
transform-misc:
|
||||
image: alfresco/alfresco-transform-misc:2.1.0
|
||||
mem_limit: 1g
|
||||
environment:
|
||||
JAVA_OPTS: ' -Xms256m -Xmx512m'
|
||||
ports:
|
||||
- 8094:8090
|
||||
|
||||
share:
|
||||
image: alfresco/alfresco-share:6.1.0-RC3
|
||||
image: alfresco/alfresco-share:6.2.0
|
||||
mem_limit: 1g
|
||||
depends_on:
|
||||
- alfresco
|
||||
environment:
|
||||
- REPO_HOST=alfresco
|
||||
- REPO_PORT=8080
|
||||
- 'CATALINA_OPTS= -Xms500m -Xmx500m'
|
||||
networks:
|
||||
- internal
|
||||
ports:
|
||||
- 8083:8080
|
||||
|
||||
postgres:
|
||||
image: postgres:10.1
|
||||
mem_limit: 1500m
|
||||
image: postgres:11.4
|
||||
mem_limit: 512m
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=alfresco
|
||||
- POSTGRES_USER=alfresco
|
||||
- POSTGRES_DB=alfresco
|
||||
command: postgres -c max_connections=300 -c log_min_messages=LOG
|
||||
networks:
|
||||
- internal
|
||||
ports:
|
||||
- 5432:5432
|
||||
|
||||
solr6:
|
||||
image: alfresco/alfresco-search-services:1.3.0-RC2
|
||||
mem_limit: 2500m
|
||||
depends_on:
|
||||
- alfresco
|
||||
image: alfresco/alfresco-search-services:1.4.0
|
||||
mem_limit: 2g
|
||||
environment:
|
||||
#Solr needs to know how to register itself with Alfresco
|
||||
- SOLR_ALFRESCO_HOST=alfresco
|
||||
@@ -71,17 +112,15 @@ services:
|
||||
- SOLR_SOLR_PORT=8983
|
||||
#Create the default alfresco and archive cores
|
||||
- SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive
|
||||
#HTTP by default
|
||||
- ALFRESCO_SECURE_COMMS=none
|
||||
- 'SOLR_JAVA_MEM=-Xms2g -Xmx2g'
|
||||
networks:
|
||||
- internal
|
||||
ports:
|
||||
- 8983:8983 #Browser port
|
||||
- 8083:8983 #Browser port
|
||||
|
||||
activemq:
|
||||
image: alfresco/alfresco-activemq:5.15.6
|
||||
mem_limit: 2048m
|
||||
networks:
|
||||
- internal
|
||||
image: alfresco/alfresco-activemq:5.15.8
|
||||
mem_limit: 1g
|
||||
ports:
|
||||
- 8161:8161 # Web Console
|
||||
- 5672:5672 # AMQP
|
||||
@@ -93,24 +132,19 @@ services:
|
||||
build: .
|
||||
depends_on:
|
||||
- alfresco
|
||||
networks:
|
||||
- internal
|
||||
ports:
|
||||
- 4001:8080
|
||||
# volumes:
|
||||
# - ./app.config.json:/usr/share/nginx/html/app.config.json
|
||||
# - ./nginx.conf:/etc/nginx/conf.d/default.conf
|
||||
|
||||
proxy:
|
||||
image: nginx:stable-alpine
|
||||
image: alfresco/acs-community-ngnix:1.0.0
|
||||
mem_limit: 128m
|
||||
depends_on:
|
||||
- content-app
|
||||
- alfresco
|
||||
volumes:
|
||||
- ./docker/proxy/nginx.conf:/etc/nginx/conf.d/default.conf
|
||||
networks:
|
||||
- internal
|
||||
- ./docker/proxy/nginx.conf:/etc/nginx/nginx.conf
|
||||
ports:
|
||||
- 4000:80
|
||||
|
||||
networks:
|
||||
internal:
|
||||
- 8080:8080
|
||||
links:
|
||||
- alfresco
|
||||
- share
|
||||
- content-app
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
# ACA Docker Image
|
||||
|
||||
Docker images are released to [docker hub](https://hub.docker.com/r/alfresco/alfresco-content-app)
|
||||
|
||||
## Environment Variables
|
||||
|
||||
OAUTH2:
|
||||
|
||||
- APP_CONFIG_AUTH_TYPE: ...
|
||||
- APP_CONFIG_OAUTH2_HOST: ...
|
||||
- APP_CONFIG_OAUTH2_CLIENTID: ...
|
||||
- APP_CONFIG_OAUTH2_REDIRECT_LOGIN: ...
|
||||
- APP_CONFIG_OAUTH2_REDIRECT_LOGOUT: ...
|
||||
- APP_CONFIG_OAUTH2_REDIRECT_SILENT_IFRAME_URI: ...
|
||||
|
||||
APP Misc:
|
||||
|
||||
- BASE_PATH: ...
|
||||
- APP_BASE_SHARE_URL: ...
|
||||
- SERVER_PATH: Server path (usefull if behind a reverse proxy). E.g.: `/content-app` . Defaults to `/`
|
||||
@@ -0,0 +1,20 @@
|
||||
# Custom Node creation instruction
|
||||
|
||||
Use the v1 POST node/{nodeId}/children for creating the custom node with a payload like:
|
||||
|
||||
```
|
||||
{
|
||||
"name":"acme document2.txt",
|
||||
"nodeType":"acme:document",
|
||||
"properties": {
|
||||
"acme:documentId": "DOC001",
|
||||
"acme:securityClassification":"Public",
|
||||
"cm:title":"My text"
|
||||
},
|
||||
"aspectNames": [
|
||||
"acme:securityClassified"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Tip: You could use the api explorer with <host-url>/api-explorer/
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
||||
<beans>
|
||||
<bean id="acme.extension.dictionaryBootstrap"
|
||||
parent="dictionaryModelBootstrap"
|
||||
depends-on="dictionaryBootstrap">
|
||||
<property name="models">
|
||||
<list>
|
||||
<value>alfresco/extension/acme-content-model.xml</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
</beans>
|
||||
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<model name="acme:contentModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
|
||||
<description>Sample Document Model</description>
|
||||
<author>My Name</author>
|
||||
<version>1.0</version>
|
||||
|
||||
<imports>
|
||||
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
|
||||
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
|
||||
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
|
||||
</imports>
|
||||
|
||||
<namespaces>
|
||||
<namespace uri="http://www.acme.org/model/content/1.0" prefix="acme"/>
|
||||
</namespaces>
|
||||
|
||||
<constraints>
|
||||
<constraint name="acme:securityClassificationOptions" type="LIST">
|
||||
<parameter name="allowedValues">
|
||||
<list>
|
||||
<value></value>
|
||||
<value>Public</value>
|
||||
<value>Client Confidential</value>
|
||||
<value>Company Confidential</value>
|
||||
<value>Strictly Confidential</value>
|
||||
</list>
|
||||
</parameter>
|
||||
</constraint>
|
||||
</constraints>
|
||||
|
||||
<types>
|
||||
<type name="acme:document">
|
||||
<title>Sample Document Type</title>
|
||||
<parent>cm:content</parent>
|
||||
<properties>
|
||||
<property name="acme:documentId">
|
||||
<title>Document Identification Number</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
</properties>
|
||||
<mandatory-aspects>
|
||||
<aspect>acme:securityClassified</aspect>
|
||||
</mandatory-aspects>
|
||||
</type>
|
||||
</types>
|
||||
|
||||
<aspects>
|
||||
<aspect name="acme:securityClassified">
|
||||
<title>ACME Security Classified</title>
|
||||
<description>Content has been security classified</description>
|
||||
<properties>
|
||||
<property name="acme:securityClassification">
|
||||
<type>d:text</type>
|
||||
<index enabled="true">
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>false</tokenised>
|
||||
</index>
|
||||
<constraints>
|
||||
<constraint ref="acme:securityClassificationOptions"/>
|
||||
</constraints>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
</aspects>
|
||||
</model>
|
||||
@@ -81,4 +81,13 @@ if [ -n "${APP_BASE_SHARE_URL}" ];then
|
||||
cat /tmp/app.config.json > ./app.config.json
|
||||
fi
|
||||
|
||||
if [[ $SERVER_PATH ]]; then
|
||||
mkdir -p .$SERVER_PATH
|
||||
cp -R * .$SERVER_PATH
|
||||
replace="\/"
|
||||
encoded=${SERVER_PATH//\//$replace}
|
||||
sed -ri 's%href=".?/"%href="'$encoded/'"%g' /tmp/index.html && \
|
||||
cat /tmp/index.html > .$SERVER_PATH/index.html
|
||||
fi
|
||||
|
||||
nginx -g "daemon off;"
|
||||
|
||||
+35
-24
@@ -1,33 +1,44 @@
|
||||
server {
|
||||
listen *:80;
|
||||
worker_processes 1;
|
||||
|
||||
set $allowOriginSite *;
|
||||
proxy_pass_request_headers on;
|
||||
proxy_pass_header Set-Cookie;
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
access_log off;
|
||||
http {
|
||||
server {
|
||||
listen *:8080;
|
||||
|
||||
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
|
||||
proxy_redirect off;
|
||||
proxy_buffering off;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_pass_header Set-Cookie;
|
||||
client_max_body_size 0;
|
||||
|
||||
location / {
|
||||
proxy_pass http://content-app:8080;
|
||||
}
|
||||
set $allowOriginSite *;
|
||||
proxy_pass_request_headers on;
|
||||
proxy_pass_header Set-Cookie;
|
||||
|
||||
location /alfresco/ {
|
||||
proxy_pass http://alfresco:8080;
|
||||
}
|
||||
# External settings, do not remove
|
||||
#ENV_ACCESS_LOG
|
||||
|
||||
location /api-explorer/ {
|
||||
proxy_pass http://alfresco:8080/api-explorer;
|
||||
}
|
||||
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
|
||||
proxy_redirect off;
|
||||
proxy_buffering off;
|
||||
proxy_set_header Host $host:$server_port;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_pass_header Set-Cookie;
|
||||
|
||||
location /share/ {
|
||||
proxy_pass http://share:8080;
|
||||
location / {
|
||||
proxy_pass http://content-app:8080;
|
||||
}
|
||||
|
||||
location /alfresco/ {
|
||||
proxy_pass http://alfresco:8080;
|
||||
}
|
||||
|
||||
location /api-explorer/ {
|
||||
proxy_pass http://alfresco:8080/api-explorer/;
|
||||
}
|
||||
|
||||
location /share/ {
|
||||
proxy_pass http://share:8080;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ services:
|
||||
networks:
|
||||
- internal
|
||||
ports:
|
||||
- 4000:80
|
||||
- 8080:80
|
||||
|
||||
networks:
|
||||
? internal
|
||||
internal:
|
||||
|
||||
@@ -24,6 +24,7 @@ The documentation is divided into the following sections:
|
||||
|
||||
| ACA Version | Built with | Tested on |
|
||||
| ----------- | ---------- | --------- |
|
||||
| ACA 1.9 | ADF 3.6.0 | ACS 6.2 |
|
||||
| ACA 1.8 | ADF 3.3.0 | ACS 6.1 |
|
||||
| ACA 1.7 | ADF 3.0.0 | ACS 6.1 |
|
||||
| ACA 1.6 | ADF 2.6.1 | ACS 6.1 |
|
||||
|
||||
@@ -20,7 +20,7 @@ npm run build
|
||||
npm run start:docker
|
||||
```
|
||||
|
||||
The ACA runs on port `4000` when served from within container.
|
||||
The ACA runs on port `8080` when served from within container.
|
||||
|
||||
Use the following command to stop all the containers:
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ nav: ja
|
||||
|
||||
ACA には ACS 6.0 Community 版が事前構成されています。
|
||||
|
||||
アプリケーションは2つのモードで実行されます:
|
||||
アプリケーションは 2 つのモードで実行されます:
|
||||
|
||||
- Development (最新のソースコードを実行し、アプリケーションのビルドが必要)
|
||||
- Preview (最新の公開されたコンテナー、マスターブランチで実行)
|
||||
@@ -21,7 +21,7 @@ npm run build
|
||||
npm run start:docker
|
||||
```
|
||||
|
||||
コンテナ内から提供される場合、ACA は `4000` ポートで実行されます。
|
||||
コンテナ内から提供される場合、ACA は `8080` ポートで実行されます。
|
||||
|
||||
次のコマンドを使用して、すべてのコンテナを停止します:
|
||||
|
||||
|
||||
@@ -100,7 +100,6 @@ export class UploadNewVersionDialog extends Component {
|
||||
|
||||
async clickUpload() {
|
||||
await this.uploadButton.click();
|
||||
await this.waitForDialogToClose();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -422,6 +422,9 @@
|
||||
"id": "app.toolbar.share",
|
||||
"type": "custom",
|
||||
"order": 600,
|
||||
"data": {
|
||||
"iconButton": true
|
||||
},
|
||||
"component": "app.shared-link.toggleSharedLink",
|
||||
"rules": {
|
||||
"visible": "app.selection.file.canShare"
|
||||
@@ -517,6 +520,9 @@
|
||||
"id": "item3",
|
||||
"type": "custom",
|
||||
"order": 400,
|
||||
"data": {
|
||||
"iconButton": false
|
||||
},
|
||||
"component": "app.shared-link.toggleSharedLink",
|
||||
"rules": {
|
||||
"visible": "app.selection.file.canShare"
|
||||
@@ -538,6 +544,9 @@
|
||||
"id": "item3",
|
||||
"type": "custom",
|
||||
"order": 400,
|
||||
"data": {
|
||||
"iconButton": false
|
||||
},
|
||||
"component": "app.shared-link.toggleSharedLink",
|
||||
"rules": {
|
||||
"visible": "app.selection.file.canShare"
|
||||
@@ -586,6 +595,9 @@
|
||||
"id": "app.context.menu.share",
|
||||
"type": "custom",
|
||||
"order": 400,
|
||||
"data": {
|
||||
"iconButton": false
|
||||
},
|
||||
"component": "app.shared-link.toggleSharedLink",
|
||||
"rules": {
|
||||
"visible": "app.selection.file.canShare"
|
||||
@@ -805,6 +817,9 @@
|
||||
"id": "app.viewer.share",
|
||||
"type": "custom",
|
||||
"order": 300,
|
||||
"data": {
|
||||
"iconButton": true
|
||||
},
|
||||
"component": "app.shared-link.toggleSharedLink",
|
||||
"rules": {
|
||||
"visible": "app.selection.file.canShare"
|
||||
|
||||
@@ -52,6 +52,8 @@ describe('Upload new version', () => {
|
||||
const parentFav = `parentFav-${Utils.random()}`; let parentFavId;
|
||||
const parentSearch = `parentSearch-${Utils.random()}`; let parentSearchId;
|
||||
|
||||
const nameConflictMessage = 'New version not uploaded, another file with the same name already exists';
|
||||
|
||||
const file = FILES.pdfFile; let fileId;
|
||||
const fileToUpload1 = FILES.docxFile;
|
||||
const fileToUpload2 = FILES.xlsxFile;
|
||||
@@ -116,7 +118,7 @@ describe('Upload new version', () => {
|
||||
});
|
||||
|
||||
afterEach(async (done) => {
|
||||
// await Utils.pressEscape();
|
||||
await Utils.pressEscape();
|
||||
await page.refresh();
|
||||
done();
|
||||
});
|
||||
@@ -147,10 +149,11 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMajor();
|
||||
await uploadNewVersionDialog.enterDescription('new major version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
expect(await dataTable.isItemPresent(fileToUpload1)).toBe(true, 'File not updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file1Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file1Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file1Id)).toEqual('2.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is updated after uploading a new version - minor - [C297546]', async () => {
|
||||
@@ -163,10 +166,11 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMinor();
|
||||
await uploadNewVersionDialog.enterDescription('new minor version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
expect(await dataTable.isItemPresent(fileToUpload2)).toBe(true, 'File not updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file2Id)).toEqual('MINOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file2Id)).toEqual('0.1', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file2Id)).toEqual('1.1', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is not updated when clicking Cancel - [C297547]', async () => {
|
||||
@@ -181,8 +185,8 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickCancel();
|
||||
|
||||
expect(await dataTable.isItemPresent(file3)).toBe(true, 'File was updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file3Id)).toEqual('', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file3Id)).toEqual('', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionType(file3Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file3Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('upload new version fails when new file name already exists - [C297548]', async () => {
|
||||
@@ -196,11 +200,12 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.enterDescription('new version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
|
||||
await page.refresh();
|
||||
const message = await page.getSnackBarMessage();
|
||||
expect(message).toContain(nameConflictMessage);
|
||||
|
||||
expect(await dataTable.isItemPresent(file4)).toBe(true, 'File was updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file4Id)).toEqual('', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file4Id)).toEqual('', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionType(file4Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file4Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is unlocked after uploading a new version - [C297549]', async () => {
|
||||
@@ -213,11 +218,12 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMinor();
|
||||
await uploadNewVersionDialog.enterDescription('new version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
expect(await dataTable.isItemPresent(fileToUpload4)).toBe(true, 'File name was not changed');
|
||||
expect(await apis.user.nodes.isFileLockedWrite(fileLocked1Id)).toBe(false, `${fileLocked1} is still locked`);
|
||||
expect(await apis.user.nodes.getFileVersionType(fileLocked1Id)).toEqual('MINOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileLocked1Id)).toEqual('0.1', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileLocked1Id)).toEqual('1.1', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file remains locked after canceling of uploading a new version - [C297550]', async () => {
|
||||
@@ -294,10 +300,11 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMajor();
|
||||
await uploadNewVersionDialog.enterDescription('new major version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
expect(await dataTable.isItemPresent(fileToUpload1)).toBe(true, 'File not updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file1Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file1Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file1Id)).toEqual('2.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is updated after uploading a new version - minor - [C297553]', async () => {
|
||||
@@ -310,10 +317,11 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMinor();
|
||||
await uploadNewVersionDialog.enterDescription('new minor version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
expect(await dataTable.isItemPresent(fileToUpload2)).toBe(true, 'File not updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file2Id)).toEqual('MINOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file2Id)).toEqual('0.1', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file2Id)).toEqual('1.1', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is not updated when clicking Cancel - [C297554]', async () => {
|
||||
@@ -328,8 +336,8 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickCancel();
|
||||
|
||||
expect(await dataTable.isItemPresent(file3)).toBe(true, 'File was updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file3Id)).toEqual('', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file3Id)).toEqual('', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionType(file3Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file3Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('upload new version fails when new file name already exists - [C297555]', async () => {
|
||||
@@ -343,11 +351,12 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.enterDescription('new version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
|
||||
await page.refresh();
|
||||
const message = await page.getSnackBarMessage();
|
||||
expect(message).toContain(nameConflictMessage);
|
||||
|
||||
expect(await dataTable.isItemPresent(file4)).toBe(true, 'File was updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file4Id)).toEqual('', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file4Id)).toEqual('', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionType(file4Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file4Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is unlocked after uploading a new version - [C297556]', async () => {
|
||||
@@ -360,11 +369,12 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMinor();
|
||||
await uploadNewVersionDialog.enterDescription('new version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
expect(await dataTable.isItemPresent(fileToUpload4)).toBe(true, 'File name was not changed');
|
||||
expect(await apis.user.nodes.isFileLockedWrite(fileLocked1Id)).toBe(false, `${fileLocked1} is still locked`);
|
||||
expect(await apis.user.nodes.getFileVersionType(fileLocked1Id)).toEqual('MINOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileLocked1Id)).toEqual('0.1', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileLocked1Id)).toEqual('1.1', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file remains locked after canceling of uploading a new version - [C297557]', async () => {
|
||||
@@ -440,10 +450,11 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMajor();
|
||||
await uploadNewVersionDialog.enterDescription('new major version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
expect(await dataTable.isItemPresent(fileToUpload1, parentRF)).toBe(true, 'File not updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file1Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file1Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file1Id)).toEqual('2.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is updated after uploading a new version - minor - [C297560]', async () => {
|
||||
@@ -456,10 +467,11 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMinor();
|
||||
await uploadNewVersionDialog.enterDescription('new minor version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
expect(await dataTable.isItemPresent(fileToUpload2, parentRF)).toBe(true, 'File not updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file2Id)).toEqual('MINOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file2Id)).toEqual('0.1', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file2Id)).toEqual('1.1', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is not updated when clicking Cancel - [C297561]', async () => {
|
||||
@@ -474,8 +486,8 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickCancel();
|
||||
|
||||
expect(await dataTable.isItemPresent(file3, parentRF)).toBe(true, 'File was updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file3Id)).toEqual('', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file3Id)).toEqual('', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionType(file3Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file3Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('upload new version fails when new file name already exists - [C297562]', async () => {
|
||||
@@ -489,11 +501,12 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.enterDescription('new version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
|
||||
await page.refresh();
|
||||
const message = await page.getSnackBarMessage();
|
||||
expect(message).toContain(nameConflictMessage);
|
||||
|
||||
expect(await dataTable.isItemPresent(file4, parentRF)).toBe(true, 'File was updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file4Id)).toEqual('', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file4Id)).toEqual('', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionType(file4Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file4Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is unlocked after uploading a new version - [C297563]', async () => {
|
||||
@@ -506,11 +519,12 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMinor();
|
||||
await uploadNewVersionDialog.enterDescription('new version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
expect(await dataTable.isItemPresent(fileToUpload4, parentRF)).toBe(true, 'File name was not changed');
|
||||
expect(await apis.user.nodes.isFileLockedWrite(fileLocked1Id)).toBe(false, `${fileLocked1} is still locked`);
|
||||
expect(await apis.user.nodes.getFileVersionType(fileLocked1Id)).toEqual('MINOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileLocked1Id)).toEqual('0.1', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileLocked1Id)).toEqual('1.1', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file remains locked after canceling of uploading a new version - [C297564]', async () => {
|
||||
@@ -587,10 +601,11 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMajor();
|
||||
await uploadNewVersionDialog.enterDescription('new major version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
expect(await dataTable.isItemPresent(fileToUpload1)).toBe(true, 'File not updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file1Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file1Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file1Id)).toEqual('2.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is updated after uploading a new version - minor - [C297567]', async () => {
|
||||
@@ -603,10 +618,11 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMinor();
|
||||
await uploadNewVersionDialog.enterDescription('new minor version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
expect(await dataTable.isItemPresent(fileToUpload2)).toBe(true, 'File not updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file2Id)).toEqual('MINOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file2Id)).toEqual('0.1', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file2Id)).toEqual('1.1', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is not updated when clicking Cancel - [C297568]', async () => {
|
||||
@@ -621,8 +637,8 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickCancel();
|
||||
|
||||
expect(await dataTable.isItemPresent(file3)).toBe(true, 'File was updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file3Id)).toEqual('', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file3Id)).toEqual('', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionType(file3Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file3Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('upload new version fails when new file name already exists - [C297569]', async () => {
|
||||
@@ -636,11 +652,12 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.enterDescription('new version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
|
||||
await page.refresh();
|
||||
const message = await page.getSnackBarMessage();
|
||||
expect(message).toContain(nameConflictMessage);
|
||||
|
||||
expect(await dataTable.isItemPresent(file4)).toBe(true, 'File was updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(file4Id)).toEqual('', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file4Id)).toEqual('', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionType(file4Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(file4Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is unlocked after uploading a new version - [C297570]', async () => {
|
||||
@@ -653,11 +670,12 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMinor();
|
||||
await uploadNewVersionDialog.enterDescription('new version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
expect(await dataTable.isItemPresent(fileToUpload4)).toBe(true, 'File name was not changed');
|
||||
expect(await apis.user.nodes.isFileLockedWrite(fileLocked1Id)).toBe(false, `${fileLocked1} is still locked`);
|
||||
expect(await apis.user.nodes.getFileVersionType(fileLocked1Id)).toEqual('MINOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileLocked1Id)).toEqual('0.1', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileLocked1Id)).toEqual('1.1', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file remains locked after canceling of uploading a new version - [C297571]', async () => {
|
||||
@@ -738,11 +756,12 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMajor();
|
||||
await uploadNewVersionDialog.enterDescription('new major version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
// TODO: enable when ACA-2329 is fixed
|
||||
// expect(await dataTable.isItemPresent(fileToUpload1, parentSearch)).toBe(true, 'File not updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(fileSearch1Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileSearch1Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileSearch1Id)).toEqual('2.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is updated after uploading a new version - minor - [C307005]', async () => {
|
||||
@@ -759,11 +778,12 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMinor();
|
||||
await uploadNewVersionDialog.enterDescription('new minor version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
// TODO: enable when ACA-2329 is fixed
|
||||
// expect(await dataTable.isItemPresent(fileToUpload2, parentSearch)).toBe(true, 'File not updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(fileSearch2Id)).toEqual('MINOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileSearch2Id)).toEqual('0.1', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileSearch2Id)).toEqual('1.1', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is not updated when clicking Cancel - [C307006]', async () => {
|
||||
@@ -782,8 +802,8 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickCancel();
|
||||
|
||||
expect(await dataTable.isItemPresent(fileSearch3, parentSearch)).toBe(true, 'File was updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(fileSearch3Id)).toEqual('', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileSearch3Id)).toEqual('', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionType(fileSearch3Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileSearch3Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('upload new version fails when new file name already exists - [C307007]', async () => {
|
||||
@@ -801,11 +821,12 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.enterDescription('new version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
|
||||
await page.refresh();
|
||||
const message = await page.getSnackBarMessage();
|
||||
expect(message).toContain(nameConflictMessage);
|
||||
|
||||
expect(await dataTable.isItemPresent(fileSearch4, parentSearch)).toBe(true, 'File was updated');
|
||||
expect(await apis.user.nodes.getFileVersionType(fileSearch4Id)).toEqual('', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileSearch4Id)).toEqual('', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionType(fileSearch4Id)).toEqual('MAJOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileSearch4Id)).toEqual('1.0', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file is unlocked after uploading a new version - [C307008]', async () => {
|
||||
@@ -822,12 +843,13 @@ describe('Upload new version', () => {
|
||||
await uploadNewVersionDialog.clickMinor();
|
||||
await uploadNewVersionDialog.enterDescription('new version description');
|
||||
await uploadNewVersionDialog.clickUpload();
|
||||
await uploadNewVersionDialog.waitForDialogToClose();
|
||||
|
||||
// TODO: enable when ACA-2329 is fixed
|
||||
// expect(await dataTable.isItemPresent(fileToUpload4, parentSearch)).toBe(true, 'File name was not changed');
|
||||
expect(await apis.user.nodes.isFileLockedWrite(fileLockedSearch1Id)).toBe(false, `${fileLockedSearch1} is still locked`);
|
||||
expect(await apis.user.nodes.getFileVersionType(fileLockedSearch1Id)).toEqual('MINOR', 'File has incorrect version type');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileLockedSearch1Id)).toEqual('0.1', 'File has incorrect version label');
|
||||
expect(await apis.user.nodes.getFileVersionLabel(fileLockedSearch1Id)).toEqual('1.1', 'File has incorrect version label');
|
||||
});
|
||||
|
||||
it('file remains locked after canceling of uploading a new version - [C307009]', async () => {
|
||||
|
||||
@@ -33,6 +33,7 @@ export class NodeBodyCreate {
|
||||
public name: string,
|
||||
public nodeType: string,
|
||||
public relativePath: string = '/',
|
||||
public aspectNames?: string[], // workaround for REPO-4772
|
||||
public properties?: any[]
|
||||
) {}
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@ export interface NodeContentTree {
|
||||
|
||||
export function flattenNodeContentTree(content: NodeContentTree, relativePath: string = '/'): NodeBodyCreate[] {
|
||||
const { name, files, folders, title, description } = content;
|
||||
const aspectNames: string[] = ['cm:versionable'];
|
||||
let data: NodeBodyCreate[] = [];
|
||||
let properties: any;
|
||||
|
||||
@@ -75,7 +76,8 @@ export function flattenNodeContentTree(content: NodeContentTree, relativePath: s
|
||||
.map((filename: string): NodeBodyCreate => ({
|
||||
nodeType: NODE_TYPE_FILE,
|
||||
name: filename,
|
||||
relativePath
|
||||
relativePath,
|
||||
aspectNames
|
||||
}));
|
||||
|
||||
data = data.concat(filesData);
|
||||
|
||||
@@ -222,7 +222,8 @@ export class NodesApi extends RepoApi {
|
||||
'cm:title': title,
|
||||
'cm:description': description,
|
||||
'cm:author': author
|
||||
}
|
||||
},
|
||||
aspectNames: ['cm:versionable'] // workaround for REPO-4772
|
||||
};
|
||||
if (imageProps) {
|
||||
nodeBody.properties = Object.assign(nodeBody.properties, imageProps);
|
||||
|
||||
@@ -24,10 +24,9 @@
|
||||
*/
|
||||
|
||||
import { RepoApi } from '../repo-api';
|
||||
import { SiteBody, SiteMemberRoleBody, SiteMemberBody, SiteEntry, SiteMembershipRequestEntry } from '@alfresco/js-api';
|
||||
import { SiteBody, SiteMemberRoleBody, SiteMemberBody, SiteEntry, SiteMembershipRequestEntry, SitesApi as AdfSiteApi } from '@alfresco/js-api';
|
||||
import { SITE_VISIBILITY } from '../../../../configs';
|
||||
import { Utils } from '../../../../utilities/utils';
|
||||
import { SitesApi as AdfSiteApi } from '@alfresco/js-api';
|
||||
|
||||
export class SitesApi extends RepoApi {
|
||||
sitesApi = new AdfSiteApi(this.alfrescoJsApi);
|
||||
|
||||
Generated
+53
-34
@@ -5,33 +5,33 @@
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@alfresco/adf-content-services": {
|
||||
"version": "3.6.0-58aef5a02986ad0a3e7a31a2805d83018143482e",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.6.0-58aef5a02986ad0a3e7a31a2805d83018143482e.tgz",
|
||||
"integrity": "sha512-7p5xq+4HLNsWNgCIGDfdpX6/GY31CpOMIEG2sC1H4RTiWxpzWGFANPaTLcvKi7l5J4SbKZcB+2axRhrIxdSxXQ==",
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-3.6.0.tgz",
|
||||
"integrity": "sha512-npEPJ4eAIalIWd4lmTltYiS3XyLdagzfqDUfC9oHwFz8QfX7y8mUtaSDBVYqTGRm3lZ7vElczfsbuKlknLaxog==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@alfresco/adf-core": {
|
||||
"version": "3.6.0-58aef5a02986ad0a3e7a31a2805d83018143482e",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.6.0-58aef5a02986ad0a3e7a31a2805d83018143482e.tgz",
|
||||
"integrity": "sha512-odQ0ldG2mw/WyRXZPTYA6u0P7U7WMlojgB8qhj+QkbWqnCvoV+5vuyaqrhdqVkc4V+4Kh5kSaMsohVXDP+2vxw==",
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-3.6.0.tgz",
|
||||
"integrity": "sha512-WlYvxuBpJ6sug5iPfJprdWDZcDtJ7Y6/SFzEchEhan30O4Efb/MgWY+3s1nCsIwX0eYhyv8pj9NHQjHNjPotLw==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@alfresco/adf-extensions": {
|
||||
"version": "3.6.0-58aef5a02986ad0a3e7a31a2805d83018143482e",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.6.0-58aef5a02986ad0a3e7a31a2805d83018143482e.tgz",
|
||||
"integrity": "sha512-/Vv/JaJrTzVOiNrHJOa8IDtzdNTO9rbg5LW+DcfWZaMVrqpsEQ9n43TQVjgrXicJmrucfR6Rdob28X566SwMhQ==",
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-3.6.0.tgz",
|
||||
"integrity": "sha512-/B2+TKrjQswXsTkkuU7qgK9Ud8Wn02bZRgRuKZiPwUxIo8s4wSMZpgWkfrIw58WDNDiL/MDgDeNiCrpxxrzdow==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"@alfresco/js-api": {
|
||||
"version": "3.6.0-f44b015f801224c18cf4c8162562ee66551fa8df",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-3.6.0-f44b015f801224c18cf4c8162562ee66551fa8df.tgz",
|
||||
"integrity": "sha512-ntll1zGORMFoFuj64mu5YTn8X74kvI4RqshBZuQFkDc9rjQlpDTx/erIScO7njpfcKp8CdP3bsoDWnnrar0Www==",
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-3.6.0.tgz",
|
||||
"integrity": "sha512-aXc4twC3jDTZqyyhrlQX5DvyuSAnsfmZ7LT03itm/II9EqFEHcpXGWzyOA2VyZSyfuYz5e13KuM6v1VqBZxCwQ==",
|
||||
"requires": {
|
||||
"event-emitter": "^0.3.5",
|
||||
"minimatch": "3.0.4",
|
||||
@@ -4225,12 +4225,12 @@
|
||||
}
|
||||
},
|
||||
"es5-ext": {
|
||||
"version": "0.10.52",
|
||||
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.52.tgz",
|
||||
"integrity": "sha512-bWCbE9fbpYQY4CU6hJbJ1vSz70EClMlDgJ7BmwI+zEJhxrwjesZRPglGJlsZhu0334U3hI+gaspwksH9IGD6ag==",
|
||||
"version": "0.10.53",
|
||||
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
|
||||
"integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
|
||||
"requires": {
|
||||
"es6-iterator": "~2.0.3",
|
||||
"es6-symbol": "~3.1.2",
|
||||
"es6-symbol": "~3.1.3",
|
||||
"next-tick": "~1.0.0"
|
||||
}
|
||||
},
|
||||
@@ -4655,9 +4655,9 @@
|
||||
}
|
||||
},
|
||||
"ext": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/ext/-/ext-1.2.0.tgz",
|
||||
"integrity": "sha512-0ccUQK/9e3NreLFg6K6np8aPyRgwycx+oFGtfx1dSp7Wj00Ozw9r05FgBRlzjf2XBM7LAzwgLyDscRrtSU91hA==",
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ext/-/ext-1.2.1.tgz",
|
||||
"integrity": "sha512-x+OKKC57tNiLhDW26UmWtvQBpvO+2wxdC/A0jP7RkmjAc4gze9/U98hQyIYJUzo9A+o9ntMHpC+LH3pWMSbrVQ==",
|
||||
"requires": {
|
||||
"type": "^2.0.0"
|
||||
},
|
||||
@@ -5187,7 +5187,8 @@
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.2.0",
|
||||
@@ -5208,12 +5209,14 @@
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
@@ -5228,17 +5231,20 @@
|
||||
"code-point-at": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"console-control-strings": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
@@ -5355,7 +5361,8 @@
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.5",
|
||||
@@ -5367,6 +5374,7 @@
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"number-is-nan": "^1.0.0"
|
||||
}
|
||||
@@ -5381,6 +5389,7 @@
|
||||
"version": "3.0.4",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
@@ -5388,12 +5397,14 @@
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"minipass": {
|
||||
"version": "2.3.5",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"safe-buffer": "^5.1.2",
|
||||
"yallist": "^3.0.0"
|
||||
@@ -5412,6 +5423,7 @@
|
||||
"version": "0.5.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
@@ -5492,7 +5504,8 @@
|
||||
"number-is-nan": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
@@ -5504,6 +5517,7 @@
|
||||
"version": "1.4.0",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
@@ -5589,7 +5603,8 @@
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
@@ -5625,6 +5640,7 @@
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"code-point-at": "^1.0.0",
|
||||
"is-fullwidth-code-point": "^1.0.0",
|
||||
@@ -5644,6 +5660,7 @@
|
||||
"version": "3.0.1",
|
||||
"bundled": true,
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
}
|
||||
@@ -5687,12 +5704,14 @@
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"yallist": {
|
||||
"version": "3.0.3",
|
||||
"bundled": true,
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -8981,9 +9000,9 @@
|
||||
}
|
||||
},
|
||||
"node-sass": {
|
||||
"version": "4.12.0",
|
||||
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz",
|
||||
"integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==",
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.0.tgz",
|
||||
"integrity": "sha512-W1XBrvoJ1dy7VsvTAS5q1V45lREbTlZQqFbiHb3R3OTTCma0XBtuG6xZ6Z4506nR4lmHPTqVRwxT6KgtWC97CA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"async-foreach": "^0.1.3",
|
||||
@@ -8993,7 +9012,7 @@
|
||||
"get-stdin": "^4.0.1",
|
||||
"glob": "^7.0.3",
|
||||
"in-publish": "^2.0.0",
|
||||
"lodash": "^4.17.11",
|
||||
"lodash": "^4.17.15",
|
||||
"meow": "^3.7.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
"nan": "^2.13.2",
|
||||
|
||||
+8
-7
@@ -17,9 +17,9 @@
|
||||
"lint": "ng lint && npm run spellcheck && npm run format:check && npm run e2e.typecheck",
|
||||
"wd:update": "webdriver-manager update --gecko=false $VERSION_CHROME",
|
||||
"e2e.typecheck": "tsc -p ./e2e/tsconfig.e2e.typecheck.json",
|
||||
"e2e": "npm run wd:update && protractor --baseUrl=${TEST_BASE_URL:-http://localhost:4000} $SUITE",
|
||||
"e2e": "npm run wd:update && protractor --baseUrl=${TEST_BASE_URL:-http://localhost:8080} $SUITE",
|
||||
"e2e.local": "npm run wd:update && protractor --baseUrl=http://localhost:4200 $SUITE",
|
||||
"wait:app": "wait-on http://localhost:8080 && wait-on http://localhost:4000",
|
||||
"wait:app": "wait-on http://localhost:8080/alfresco/ -t 1000000 && wait-on http://localhost:8080 -t 400000",
|
||||
"start:docker": "docker-compose up -d --build && npm run wait:app",
|
||||
"stop:docker": "docker-compose stop",
|
||||
"e2e:docker": "npm run start:docker && npm run e2e && npm run stop:docker",
|
||||
@@ -29,17 +29,17 @@
|
||||
"format:fix": "prettier --write \"src/{app,environments}/**/*.{ts,js,css,scss,html}\"",
|
||||
"build.tomcat": "npm run build.shared && npm run build.extensions && npm run build.app -- --prod --base-href ./ && jar -cvf docker/tomcat/artifacts/content-app.war -C dist/app/ .",
|
||||
"build.tomcat.e2e": "./build-tomcat-e2e.sh",
|
||||
"e2e.tomcat": "npm run wd:update && protractor --baseUrl=http://localhost:4000/content-app/ $SUITE",
|
||||
"e2e.tomcat": "npm run wd:update && protractor --baseUrl=http://localhost:8080/content-app/ $SUITE",
|
||||
"docker.tomcat.start": "cd docker/tomcat && docker-compose up -d --build && npm run wait:app",
|
||||
"docker.tomcat.stop": "cd docker/tomcat && docker-compose stop",
|
||||
"docker.tomcat.e2e": "npm run docker.tomcat.start && npm run e2e.tomcat"
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@alfresco/adf-content-services": "3.6.0-58aef5a02986ad0a3e7a31a2805d83018143482e",
|
||||
"@alfresco/adf-core": "3.6.0-58aef5a02986ad0a3e7a31a2805d83018143482e",
|
||||
"@alfresco/adf-extensions": "3.6.0-58aef5a02986ad0a3e7a31a2805d83018143482e",
|
||||
"@alfresco/js-api": "3.6.0-f44b015f801224c18cf4c8162562ee66551fa8df",
|
||||
"@alfresco/adf-content-services": "3.6.0",
|
||||
"@alfresco/adf-core": "3.6.0",
|
||||
"@alfresco/adf-extensions": "3.6.0",
|
||||
"@alfresco/js-api": "3.6.0",
|
||||
"@angular/animations": "7.2.15",
|
||||
"@angular/cdk": "^7.3.7",
|
||||
"@angular/common": "7.2.15",
|
||||
@@ -97,6 +97,7 @@
|
||||
"karma-jasmine-html-reporter": "^0.2.2",
|
||||
"lint-staged": "^8.2.0",
|
||||
"ng-packagr": "^4.7.1",
|
||||
"node-sass": "4.13.0",
|
||||
"node-stream-zip": "1.8.0",
|
||||
"prettier": "^1.17.1",
|
||||
"protractor": "5.4.2",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@alfresco/aca-shared",
|
||||
"version": "1.9.0",
|
||||
"version": "1.9.1",
|
||||
"peerDependencies": {
|
||||
"@angular/common": "^7.2.0",
|
||||
"@angular/core": "^7.2.0",
|
||||
|
||||
@@ -31,7 +31,12 @@ import { RuleContext } from '@alfresco/adf-extensions';
|
||||
*/
|
||||
export function isPreview(context: RuleContext): boolean {
|
||||
const { url } = context.navigation;
|
||||
return url && (url.includes('viewer:view') || url.includes('/view/'));
|
||||
return (
|
||||
url &&
|
||||
(url.includes('/preview/') ||
|
||||
url.includes('viewer:view') ||
|
||||
url.includes('/view/'))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -165,7 +170,11 @@ export function isNotSearchResults(context: RuleContext): boolean {
|
||||
*/
|
||||
export function isSharedPreview(context: RuleContext): boolean {
|
||||
const { url } = context.navigation;
|
||||
return url && url.startsWith('/shared') && url.includes('viewer:view');
|
||||
return (
|
||||
url &&
|
||||
(url.startsWith('/shared/preview/') ||
|
||||
(url.startsWith('/shared') && url.includes('viewer:view')))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -174,7 +183,11 @@ export function isSharedPreview(context: RuleContext): boolean {
|
||||
*/
|
||||
export function isFavoritesPreview(context: RuleContext): boolean {
|
||||
const { url } = context.navigation;
|
||||
return url && url.startsWith('/favorites') && url.includes('viewer:view');
|
||||
return (
|
||||
url &&
|
||||
(url.startsWith('/favorites/preview/') ||
|
||||
(url.startsWith('/favorites') && url.includes('viewer:view')))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -24,9 +24,8 @@
|
||||
*/
|
||||
|
||||
import { Injectable } from '@angular/core';
|
||||
import { CanActivate } from '@angular/router';
|
||||
import { CanActivate, ActivatedRouteSnapshot } from '@angular/router';
|
||||
import { Observable } from 'rxjs';
|
||||
import { ActivatedRouteSnapshot } from '@angular/router';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { AppStore, isQuickShareEnabled } from '@alfresco/aca-shared/store';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "../../../extension.schema.json",
|
||||
"$id": "9a635542-d87a-4558-ae64-ffa199d1a364",
|
||||
"$version": "0.0.7",
|
||||
"$version": "0.0.8",
|
||||
"$name": "keensoft.aos.plugin",
|
||||
"$description": "Extension that provides Office Edit Online Action",
|
||||
"$vendor": "Keensoft",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@alfresco/adf-office-services-ext",
|
||||
"version": "0.0.7",
|
||||
"version": "0.0.8",
|
||||
"license": "Apache-2.0",
|
||||
"homepage": "https://github.com/Alfresco/alfresco-content-app",
|
||||
"keywords": ["Alfresco", "ADF", "ACA", "Content Application"],
|
||||
|
||||
+1
-1
@@ -120,7 +120,7 @@ exports.config = {
|
||||
|
||||
directConnect: true,
|
||||
|
||||
// baseUrl: 'http://localhost:4000',
|
||||
// baseUrl: 'http://localhost:8080',
|
||||
getPageTimeout: 50000,
|
||||
|
||||
framework: 'jasmine',
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"logo": "assets/images/alfresco-logo-flower.svg",
|
||||
"copyright": "APP.COPYRIGHT"
|
||||
},
|
||||
"viewer.maxRetries": 1,
|
||||
"sharedLinkDateTimePickerType": "date",
|
||||
"headerColor": "#2196F3",
|
||||
"languagePicker": true,
|
||||
|
||||
@@ -73,6 +73,10 @@ import { AppSearchResultsModule } from './components/search/search-results.modul
|
||||
import { AppLoginModule } from './components/login/login.module';
|
||||
import { AppHeaderModule } from './components/header/header.module';
|
||||
import { AppNodeVersionModule } from './components/node-version/node-version.module';
|
||||
import { FavoritesComponent } from './components/favorites/favorites.component';
|
||||
import { RecentFilesComponent } from './components/recent-files/recent-files.component';
|
||||
import { SharedFilesComponent } from './components/shared-files/shared-files.component';
|
||||
|
||||
import { environment } from '../environments/environment';
|
||||
|
||||
import { registerLocaleData } from '@angular/common';
|
||||
@@ -151,7 +155,10 @@ registerLocaleData(localeSv);
|
||||
LibrariesComponent,
|
||||
FavoriteLibrariesComponent,
|
||||
NodeVersionUploadDialogComponent,
|
||||
NodeVersionsDialogComponent
|
||||
NodeVersionsDialogComponent,
|
||||
FavoritesComponent,
|
||||
RecentFilesComponent,
|
||||
SharedFilesComponent
|
||||
],
|
||||
providers: [
|
||||
{ provide: RouteReuseStrategy, useClass: AppRouteReuseStrategy },
|
||||
|
||||
+87
-6
@@ -36,6 +36,9 @@ import {
|
||||
GenericErrorComponent
|
||||
} from '@alfresco/aca-shared';
|
||||
import { AuthGuardEcm, AuthGuard } from '@alfresco/adf-core';
|
||||
import { FavoritesComponent } from './components/favorites/favorites.component';
|
||||
import { RecentFilesComponent } from './components/recent-files/recent-files.component';
|
||||
import { SharedFilesComponent } from './components/shared-files/shared-files.component';
|
||||
|
||||
export const APP_ROUTES: Routes = [
|
||||
{
|
||||
@@ -92,6 +95,14 @@ export const APP_ROUTES: Routes = [
|
||||
defaultNodeId: '-my-'
|
||||
}
|
||||
},
|
||||
// deprecated, backwards compatibility with ACA 1.8
|
||||
{
|
||||
path: 'preview/:nodeId',
|
||||
loadChildren: './components/preview/preview.module#PreviewModule',
|
||||
data: {
|
||||
navigateSource: 'personal-files'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'view/:nodeId',
|
||||
outlet: 'viewer',
|
||||
@@ -119,6 +130,22 @@ export const APP_ROUTES: Routes = [
|
||||
sortingPreferenceKey: 'personal-files'
|
||||
}
|
||||
},
|
||||
// deprecated, backwards compatibility with ACA 1.8
|
||||
{
|
||||
path: 'preview/:nodeId',
|
||||
loadChildren: './components/preview/preview.module#PreviewModule',
|
||||
data: {
|
||||
navigateSource: 'personal-files'
|
||||
}
|
||||
},
|
||||
// deprecated, backwards compatibility with ACA 1.8
|
||||
{
|
||||
path: ':folderId/preview/:nodeId',
|
||||
loadChildren: './components/preview/preview.module#PreviewModule',
|
||||
data: {
|
||||
navigateSource: 'personal-files'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'view/:nodeId',
|
||||
outlet: 'viewer',
|
||||
@@ -159,6 +186,14 @@ export const APP_ROUTES: Routes = [
|
||||
sortingPreferenceKey: 'libraries-files'
|
||||
}
|
||||
},
|
||||
// deprecated, backwards compatibility with ACA 1.8
|
||||
{
|
||||
path: 'preview/:nodeId',
|
||||
loadChildren: './components/preview/preview.module#PreviewModule',
|
||||
data: {
|
||||
navigateSource: 'libraries'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'view/:nodeId',
|
||||
outlet: 'viewer',
|
||||
@@ -196,8 +231,21 @@ export const APP_ROUTES: Routes = [
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren:
|
||||
'./components/favorites/favorites.module#AppFavoritesModule'
|
||||
component: FavoritesComponent,
|
||||
data: {
|
||||
title: 'APP.BROWSE.FAVORITES.TITLE',
|
||||
sortingPreferenceKey: 'favorites'
|
||||
}
|
||||
// loadChildren:
|
||||
// './components/favorites/favorites.module#AppFavoritesModule'
|
||||
},
|
||||
// deprecated, backwards compatibility with ACA 1.8
|
||||
{
|
||||
path: 'preview/:nodeId',
|
||||
loadChildren: './components/preview/preview.module#PreviewModule',
|
||||
data: {
|
||||
navigateSource: 'favorites'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'view/:nodeId',
|
||||
@@ -223,8 +271,20 @@ export const APP_ROUTES: Routes = [
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren:
|
||||
'./components/recent-files/recent-files.module#AppRecentFilesModule'
|
||||
component: RecentFilesComponent,
|
||||
data: {
|
||||
title: 'APP.BROWSE.RECENT.TITLE'
|
||||
}
|
||||
// loadChildren:
|
||||
// './components/recent-files/recent-files.module#AppRecentFilesModule'
|
||||
},
|
||||
// deprecated, backwards compatibility with ACA 1.8
|
||||
{
|
||||
path: 'preview/:nodeId',
|
||||
loadChildren: './components/preview/preview.module#PreviewModule',
|
||||
data: {
|
||||
navigateSource: 'recent-files'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'view/:nodeId',
|
||||
@@ -247,8 +307,21 @@ export const APP_ROUTES: Routes = [
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
loadChildren:
|
||||
'./components/shared-files/shared-files.module#AppSharedFilesModule'
|
||||
data: {
|
||||
title: 'APP.BROWSE.SHARED.TITLE',
|
||||
sortingPreferenceKey: 'shared-files'
|
||||
},
|
||||
component: SharedFilesComponent
|
||||
// loadChildren:
|
||||
// './components/shared-files/shared-files.module#AppSharedFilesModule'
|
||||
},
|
||||
// deprecated, backwards compatibility with ACA 1.8
|
||||
{
|
||||
path: 'preview/:nodeId',
|
||||
loadChildren: './components/preview/preview.module#PreviewModule',
|
||||
data: {
|
||||
navigateSource: 'shared'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'view/:nodeId',
|
||||
@@ -286,6 +359,14 @@ export const APP_ROUTES: Routes = [
|
||||
title: 'APP.BROWSE.SEARCH.TITLE'
|
||||
}
|
||||
},
|
||||
// deprecated, backwards compatibility with ACA 1.8
|
||||
{
|
||||
path: 'preview/:nodeId',
|
||||
loadChildren: './components/preview/preview.module#PreviewModule',
|
||||
data: {
|
||||
navigateSource: 'search'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'view/:nodeId',
|
||||
outlet: 'viewer',
|
||||
|
||||
@@ -1,14 +1,30 @@
|
||||
<ng-container *ngIf="selection$ | async as selection">
|
||||
<button
|
||||
mat-menu-item
|
||||
data-automation-id="share-action-button"
|
||||
(click)="editSharedNode(selection)"
|
||||
>
|
||||
<mat-icon>link</mat-icon>
|
||||
<ng-container *ngIf="isShared(selection); else not_shared">
|
||||
<span>{{ 'APP.ACTIONS.SHARE_EDIT' | translate }}</span>
|
||||
</ng-container>
|
||||
</button>
|
||||
<ng-container *ngIf="!data.iconButton">
|
||||
<button
|
||||
mat-menu-item
|
||||
data-automation-id="share-action-button"
|
||||
(click)="editSharedNode(selection)"
|
||||
>
|
||||
<mat-icon>link</mat-icon>
|
||||
<ng-container *ngIf="isShared(selection); else not_shared">
|
||||
<span>{{ 'APP.ACTIONS.SHARE_EDIT' | translate }}</span>
|
||||
</ng-container>
|
||||
</button>
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngIf="data.iconButton">
|
||||
<button
|
||||
mat-icon-button
|
||||
data-automation-id="share-action-button"
|
||||
(click)="editSharedNode(selection)"
|
||||
[attr.title]="
|
||||
(isShared(selection) ? 'APP.ACTIONS.SHARE_EDIT' : 'APP.ACTIONS.SHARE')
|
||||
| translate
|
||||
"
|
||||
>
|
||||
<mat-icon>link</mat-icon>
|
||||
</button>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
|
||||
<ng-template #not_shared>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { Component, OnInit, Input } from '@angular/core';
|
||||
import { Observable } from 'rxjs';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { SelectionState } from '@alfresco/adf-extensions';
|
||||
@@ -38,6 +38,8 @@ import {
|
||||
templateUrl: './toggle-shared.component.html'
|
||||
})
|
||||
export class ToggleSharedComponent implements OnInit {
|
||||
@Input() data: any;
|
||||
|
||||
selection$: Observable<SelectionState>;
|
||||
|
||||
constructor(private store: Store<AppStore>) {}
|
||||
|
||||
@@ -28,10 +28,9 @@ import { Overlay } from '@angular/cdk/overlay';
|
||||
import { Injector } from '@angular/core';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { of } from 'rxjs';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
import { CoreModule, UserPreferencesService } from '@alfresco/adf-core';
|
||||
import { ContextMenuService } from './context-menu.service';
|
||||
import { ContextMenuModule } from './context-menu.module';
|
||||
import { UserPreferencesService } from '@alfresco/adf-core';
|
||||
|
||||
describe('ContextMenuService', () => {
|
||||
let contextMenuService;
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
|
||||
import { TestBed, ComponentFixture } from '@angular/core/testing';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { UserPreferencesService } from '@alfresco/adf-core';
|
||||
import { Router } from '@angular/router';
|
||||
import {
|
||||
AlfrescoApiService,
|
||||
NodeFavoriteDirective,
|
||||
DataTableComponent,
|
||||
AppConfigPipe
|
||||
AppConfigPipe,
|
||||
UserPreferencesService
|
||||
} from '@alfresco/adf-core';
|
||||
import { DocumentListComponent } from '@alfresco/adf-content-services';
|
||||
import { FavoriteLibrariesComponent } from './favorite-libraries.component';
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 Alfresco Software Limited
|
||||
*
|
||||
* This file is part of the Alfresco Example Content Application.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { FavoritesComponent } from './favorites.component';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
import { RouterModule, Routes } from '@angular/router';
|
||||
import { ContentModule } from '@alfresco/adf-content-services';
|
||||
import { DirectivesModule } from '../../directives/directives.module';
|
||||
import { AppCommonModule } from '../common/common.module';
|
||||
import { AppToolbarModule } from '../toolbar/toolbar.module';
|
||||
import { ContextMenuModule } from '../context-menu/context-menu.module';
|
||||
import { AppInfoDrawerModule } from '../info-drawer/info.drawer.module';
|
||||
import { AppLayoutModule } from '../layout/layout.module';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: FavoritesComponent,
|
||||
data: {
|
||||
title: 'APP.BROWSE.FAVORITES.TITLE',
|
||||
sortingPreferenceKey: 'favorites'
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
CoreModule.forChild(),
|
||||
RouterModule.forChild(routes),
|
||||
ContentModule.forChild(),
|
||||
DirectivesModule,
|
||||
AppCommonModule,
|
||||
AppToolbarModule,
|
||||
ContextMenuModule,
|
||||
AppInfoDrawerModule,
|
||||
AppLayoutModule
|
||||
],
|
||||
declarations: [FavoritesComponent],
|
||||
exports: [FavoritesComponent]
|
||||
})
|
||||
export class AppFavoritesModule {}
|
||||
@@ -35,11 +35,14 @@ import {
|
||||
} from '@alfresco/js-api';
|
||||
import { ContentManagementService } from '../../services/content-management.service';
|
||||
import { NodeActionsService } from '../../services/node-actions.service';
|
||||
import { AppStore } from '@alfresco/aca-shared/store';
|
||||
import { PageComponent } from '../page.component';
|
||||
import { ContentApiService } from '@alfresco/aca-shared';
|
||||
import { AppExtensionService } from '../../extensions/extension.service';
|
||||
import { SetCurrentFolderAction, isAdmin } from '@alfresco/aca-shared/store';
|
||||
import {
|
||||
SetCurrentFolderAction,
|
||||
isAdmin,
|
||||
AppStore
|
||||
} from '@alfresco/aca-shared/store';
|
||||
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
|
||||
import { debounceTime, takeUntil } from 'rxjs/operators';
|
||||
import { ShareDataRow } from '@alfresco/adf-content-services';
|
||||
@@ -51,6 +54,7 @@ export class FilesComponent extends PageComponent implements OnInit, OnDestroy {
|
||||
isValidPath = true;
|
||||
isSmallScreen = false;
|
||||
isAdmin = false;
|
||||
selectedNode: MinimalNodeEntity;
|
||||
|
||||
private nodePath: PathElement[];
|
||||
|
||||
@@ -144,6 +148,7 @@ export class FilesComponent extends PageComponent implements OnInit, OnDestroy {
|
||||
|
||||
navigateTo(node: MinimalNodeEntity) {
|
||||
if (node && node.entry) {
|
||||
this.selectedNode = node;
|
||||
const { id, isFolder } = node.entry;
|
||||
|
||||
if (isFolder) {
|
||||
@@ -173,7 +178,7 @@ export class FilesComponent extends PageComponent implements OnInit, OnDestroy {
|
||||
|
||||
// check root and child nodes
|
||||
if (node && node.entry && node.entry.parentId === this.getParentNodeId()) {
|
||||
this.reload();
|
||||
this.reload(this.selectedNode);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -211,7 +216,7 @@ export class FilesComponent extends PageComponent implements OnInit, OnDestroy {
|
||||
if (alreadyDisplayedParentFolder) {
|
||||
return;
|
||||
}
|
||||
this.reload();
|
||||
this.reload(this.selectedNode);
|
||||
}
|
||||
|
||||
onContentCopied(nodes: MinimalNodeEntity[]) {
|
||||
@@ -221,7 +226,7 @@ export class FilesComponent extends PageComponent implements OnInit, OnDestroy {
|
||||
);
|
||||
});
|
||||
if (newNode) {
|
||||
this.reload();
|
||||
this.reload(this.selectedNode);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -88,18 +88,6 @@ describe('InfoDrawerComponent', () => {
|
||||
);
|
||||
});
|
||||
|
||||
it('should set displayNode when node is from personal list', () => {
|
||||
spyOn(contentApiService, 'getNodeInfo');
|
||||
const nodeMock = <any>{ entry: { id: 'nodeId', aspectNames: [] } };
|
||||
component.node = nodeMock;
|
||||
|
||||
fixture.detectChanges();
|
||||
component.ngOnChanges();
|
||||
|
||||
expect(component.displayNode).toBe(nodeMock.entry);
|
||||
expect(contentApiService.getNodeInfo).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should set displayNode when node is library', async(() => {
|
||||
spyOn(contentApiService, 'getNodeInfo');
|
||||
const nodeMock = <any>{
|
||||
|
||||
@@ -88,12 +88,8 @@ export class InfoDrawerComponent implements OnChanges, OnInit, OnDestroy {
|
||||
|
||||
const entry: any = this.node.entry;
|
||||
|
||||
if (!entry.aspectNames) {
|
||||
const id = entry.nodeId || entry.id;
|
||||
return this.loadNodeInfo(id);
|
||||
}
|
||||
|
||||
this.setDisplayNode(entry);
|
||||
const id = entry.nodeId || entry.id;
|
||||
return this.loadNodeInfo(id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,10 +29,13 @@ import { AppConfigService, UserPreferencesService } from '@alfresco/adf-core';
|
||||
import { AppLayoutComponent } from './app-layout.component';
|
||||
import { AppTestingModule } from '../../../testing/app-testing.module';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { AppStore, SetSelectedNodesAction } from '@alfresco/aca-shared/store';
|
||||
import {
|
||||
AppStore,
|
||||
SetSelectedNodesAction,
|
||||
ResetSelectionAction
|
||||
} from '@alfresco/aca-shared/store';
|
||||
import { Router, NavigationStart } from '@angular/router';
|
||||
import { Subject } from 'rxjs';
|
||||
import { ResetSelectionAction } from '@alfresco/aca-shared/store';
|
||||
|
||||
class MockRouter {
|
||||
private url = 'some-url';
|
||||
|
||||
@@ -44,7 +44,8 @@ import {
|
||||
isInfoDrawerOpened,
|
||||
getSharedUrl,
|
||||
ViewNodeAction,
|
||||
ViewNodeExtras
|
||||
ViewNodeExtras,
|
||||
SetSelectedNodesAction
|
||||
} from '@alfresco/aca-shared/store';
|
||||
import { isLocked, isLibrary } from '../utils/node.utils';
|
||||
|
||||
@@ -131,8 +132,11 @@ export abstract class PageComponent implements OnInit, OnDestroy {
|
||||
return null;
|
||||
}
|
||||
|
||||
reload(): void {
|
||||
reload(selectedNode?: MinimalNodeEntity): void {
|
||||
this.store.dispatch(new ReloadDocumentListAction());
|
||||
if (selectedNode) {
|
||||
this.store.dispatch(new SetSelectedNodesAction([selectedNode]));
|
||||
}
|
||||
}
|
||||
|
||||
trackByActionId(_: number, action: ContentActionRef) {
|
||||
|
||||
@@ -49,9 +49,9 @@ import { Store } from '@ngrx/store';
|
||||
import {
|
||||
AppStore,
|
||||
ClosePreviewAction,
|
||||
ViewerActionTypes
|
||||
ViewerActionTypes,
|
||||
SetSelectedNodesAction
|
||||
} from '@alfresco/aca-shared/store';
|
||||
import { SetSelectedNodesAction } from '@alfresco/aca-shared/store';
|
||||
import { PageComponent } from '../page.component';
|
||||
import { ContentApiService } from '@alfresco/aca-shared';
|
||||
import { AppExtensionService } from '../../extensions/extension.service';
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 Alfresco Software Limited
|
||||
*
|
||||
* This file is part of the Alfresco Example Content Application.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
import { RouterModule, Routes } from '@angular/router';
|
||||
import { ContentModule } from '@alfresco/adf-content-services';
|
||||
import { DirectivesModule } from '../../directives/directives.module';
|
||||
import { AppCommonModule } from '../common/common.module';
|
||||
import { AppToolbarModule } from '../toolbar/toolbar.module';
|
||||
import { ContextMenuModule } from '../context-menu/context-menu.module';
|
||||
import { RecentFilesComponent } from './recent-files.component';
|
||||
import { AppInfoDrawerModule } from '../info-drawer/info.drawer.module';
|
||||
import { AppLayoutModule } from '../layout/layout.module';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: RecentFilesComponent,
|
||||
data: {
|
||||
title: 'APP.BROWSE.RECENT.TITLE'
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
CoreModule.forChild(),
|
||||
RouterModule.forChild(routes),
|
||||
ContentModule.forChild(),
|
||||
DirectivesModule,
|
||||
AppCommonModule,
|
||||
AppToolbarModule,
|
||||
ContextMenuModule,
|
||||
AppInfoDrawerModule,
|
||||
AppLayoutModule
|
||||
],
|
||||
declarations: [RecentFilesComponent],
|
||||
exports: [RecentFilesComponent]
|
||||
})
|
||||
export class AppRecentFilesModule {}
|
||||
+1
-2
@@ -23,7 +23,7 @@
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { NavigateLibraryAction } from '@alfresco/aca-shared/store';
|
||||
import { NavigateLibraryAction, AppStore } from '@alfresco/aca-shared/store';
|
||||
import { NodePaging, Pagination, SiteEntry } from '@alfresco/js-api';
|
||||
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
@@ -31,7 +31,6 @@ import { ActivatedRoute, Params } from '@angular/router';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { AppExtensionService } from '../../../extensions/extension.service';
|
||||
import { ContentManagementService } from '../../../services/content-management.service';
|
||||
import { AppStore } from '@alfresco/aca-shared/store';
|
||||
import { PageComponent } from '../../page.component';
|
||||
import { SearchLibrariesQueryBuilderService } from './search-libraries-query-builder.service';
|
||||
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 Alfresco Software Limited
|
||||
*
|
||||
* This file is part of the Alfresco Example Content Application.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { NgModule } from '@angular/core';
|
||||
import { SharedFilesComponent } from './shared-files.component';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { CoreModule } from '@alfresco/adf-core';
|
||||
import { RouterModule, Routes } from '@angular/router';
|
||||
import { ContentModule } from '@alfresco/adf-content-services';
|
||||
import { DirectivesModule } from '../../directives/directives.module';
|
||||
import { AppCommonModule } from '../common/common.module';
|
||||
import { AppToolbarModule } from '../toolbar/toolbar.module';
|
||||
import { ContextMenuModule } from '../context-menu/context-menu.module';
|
||||
import { AppInfoDrawerModule } from '../info-drawer/info.drawer.module';
|
||||
import { AppLayoutModule } from '../layout/layout.module';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: SharedFilesComponent,
|
||||
data: {
|
||||
title: 'APP.BROWSE.SHARED.TITLE',
|
||||
sortingPreferenceKey: 'shared-files'
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
CoreModule.forChild(),
|
||||
RouterModule.forChild(routes),
|
||||
ContentModule.forChild(),
|
||||
DirectivesModule,
|
||||
AppCommonModule,
|
||||
AppToolbarModule,
|
||||
ContextMenuModule,
|
||||
AppInfoDrawerModule,
|
||||
AppLayoutModule
|
||||
],
|
||||
declarations: [SharedFilesComponent],
|
||||
exports: [SharedFilesComponent]
|
||||
})
|
||||
export class AppSharedFilesModule {}
|
||||
@@ -4,6 +4,7 @@
|
||||
'right_side--hide': !showRightSide
|
||||
}"
|
||||
[displayName]="fileName"
|
||||
[maxRetries]="'viewer.maxRetries' | adfAppConfig"
|
||||
[nodeId]="nodeId"
|
||||
[allowNavigate]="navigateMultiple"
|
||||
[allowRightSidebar]="true"
|
||||
|
||||
@@ -31,10 +31,11 @@ import {
|
||||
SetSelectedNodesAction,
|
||||
ClosePreviewAction,
|
||||
ViewerActionTypes,
|
||||
ViewNodeAction
|
||||
ViewNodeAction,
|
||||
ReloadDocumentListAction
|
||||
} from '@alfresco/aca-shared/store';
|
||||
import { ContentActionRef, SelectionState } from '@alfresco/adf-extensions';
|
||||
import { MinimalNodeEntryEntity } from '@alfresco/js-api';
|
||||
import { MinimalNodeEntryEntity, SearchRequest } from '@alfresco/js-api';
|
||||
import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { ActivatedRoute, Router, PRIMARY_OUTLET } from '@angular/router';
|
||||
import {
|
||||
@@ -49,8 +50,6 @@ import { from, Observable, Subject } from 'rxjs';
|
||||
import { takeUntil, debounceTime } from 'rxjs/operators';
|
||||
import { AppExtensionService } from '../../extensions/extension.service';
|
||||
import { Actions, ofType } from '@ngrx/effects';
|
||||
import { SearchRequest } from '@alfresco/js-api';
|
||||
import { ReloadDocumentListAction } from '@alfresco/aca-shared/store';
|
||||
@Component({
|
||||
selector: 'app-viewer',
|
||||
templateUrl: './viewer.component.html',
|
||||
|
||||
@@ -32,12 +32,14 @@ import { Store } from '@ngrx/store';
|
||||
import { SetSelectedNodesAction } from '@alfresco/aca-shared/store';
|
||||
import { takeUntil, filter } from 'rxjs/operators';
|
||||
import { ContentManagementService } from '../services/content-management.service';
|
||||
import { MinimalNodeEntity } from '@alfresco/js-api';
|
||||
|
||||
@Directive({
|
||||
selector: '[acaDocumentList]'
|
||||
})
|
||||
export class DocumentListDirective implements OnInit, OnDestroy {
|
||||
private isLibrary = false;
|
||||
selectedNode: MinimalNodeEntity;
|
||||
|
||||
onDestroy$ = new Subject<boolean>();
|
||||
|
||||
@@ -88,7 +90,7 @@ export class DocumentListDirective implements OnInit, OnDestroy {
|
||||
.subscribe(() => this.onReady());
|
||||
|
||||
this.content.reload.pipe(takeUntil(this.onDestroy$)).subscribe(() => {
|
||||
this.reload();
|
||||
this.reload(this.selectedNode);
|
||||
});
|
||||
|
||||
this.content.reset.pipe(takeUntil(this.onDestroy$)).subscribe(() => {
|
||||
@@ -119,6 +121,7 @@ export class DocumentListDirective implements OnInit, OnDestroy {
|
||||
onNodeSelect(event: CustomEvent) {
|
||||
if (!!event.detail && !!event.detail.node) {
|
||||
this.updateSelection();
|
||||
this.selectedNode = event.detail.node;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,9 +143,13 @@ export class DocumentListDirective implements OnInit, OnDestroy {
|
||||
this.store.dispatch(new SetSelectedNodesAction(selection));
|
||||
}
|
||||
|
||||
private reload() {
|
||||
private reload(selectedNode?: MinimalNodeEntity) {
|
||||
this.documentList.resetSelection();
|
||||
this.store.dispatch(new SetSelectedNodesAction([]));
|
||||
if (selectedNode) {
|
||||
this.store.dispatch(new SetSelectedNodesAction([selectedNode]));
|
||||
} else {
|
||||
this.store.dispatch(new SetSelectedNodesAction([]));
|
||||
}
|
||||
this.documentList.reload();
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { ContentApiService } from '@alfresco/aca-shared';
|
||||
import { ContentApiService, NodePermissionService } from '@alfresco/aca-shared';
|
||||
import {
|
||||
AppStore,
|
||||
DeletedNodeInfo,
|
||||
@@ -69,7 +69,6 @@ import { NodePermissionsDialogComponent } from '../components/permissions/permis
|
||||
import { NodeVersionUploadDialogComponent } from '../dialogs/node-version-upload/node-version-upload.dialog';
|
||||
import { NodeVersionsDialogComponent } from '../dialogs/node-versions/node-versions.dialog';
|
||||
import { NodeActionsService } from './node-actions.service';
|
||||
import { NodePermissionService } from '@alfresco/aca-shared';
|
||||
|
||||
interface RestoredNode {
|
||||
status: number;
|
||||
@@ -215,9 +214,7 @@ export class ContentManagementService {
|
||||
})
|
||||
.afterClosed()
|
||||
.subscribe(deletedSharedLink => {
|
||||
this.store.dispatch(
|
||||
new SetSelectedNodesAction([deletedSharedLink || node])
|
||||
);
|
||||
this.store.dispatch(new SetSelectedNodesAction([node]));
|
||||
if (deletedSharedLink) {
|
||||
this.linksUnshared.next(deletedSharedLink);
|
||||
}
|
||||
|
||||
@@ -58,8 +58,6 @@ $foreground: map-get($custom-theme, foreground);
|
||||
$warn: map-get($custom-theme, warn);
|
||||
|
||||
@mixin custom-theme($theme) {
|
||||
@include adf-style-fixes($theme);
|
||||
|
||||
@include layout-theme($theme);
|
||||
@include aca-search-input-theme($theme);
|
||||
@include app-permission-manager-theme($theme);
|
||||
@@ -70,6 +68,7 @@ $warn: map-get($custom-theme, warn);
|
||||
@include aca-current-user-theme($theme);
|
||||
@include aca-context-menu-theme($theme);
|
||||
@include app-create-menu-theme($theme);
|
||||
@include adf-style-fixes($theme);
|
||||
|
||||
.mat-toolbar {
|
||||
color: var(--theme-text-color, rgba(0, 0, 0, 0.54));
|
||||
|
||||
@@ -3,4 +3,14 @@
|
||||
@mixin adf-style-fixes($theme) {
|
||||
// add here all ADF style overrides
|
||||
// and create a task to move them to ADF
|
||||
|
||||
.adf-content-node-selector-content-list {
|
||||
.adf-content-selector-modified-cell {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.adf-content-selector-modifier-cell {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -197,26 +197,14 @@
|
||||
},
|
||||
{
|
||||
"id": "app.toolbar.share",
|
||||
"type": "custom",
|
||||
"order": 100,
|
||||
"title": "APP.ACTIONS.SHARE",
|
||||
"icon": "link",
|
||||
"actions": {
|
||||
"click": "SHARE_NODE"
|
||||
"data": {
|
||||
"iconButton": true
|
||||
},
|
||||
"component": "app.shared-link.toggleSharedLink",
|
||||
"rules": {
|
||||
"visible": "app.selection.file.canShare"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "app.toolbar.share.edit",
|
||||
"order": 101,
|
||||
"title": "APP.ACTIONS.SHARE_EDIT",
|
||||
"icon": "link",
|
||||
"actions": {
|
||||
"click": "SHARE_NODE"
|
||||
},
|
||||
"rules": {
|
||||
"visible": "app.selection.file.isShared"
|
||||
"visible": "canToggleSharedLink"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -486,6 +474,9 @@
|
||||
"id": "app.context.menu.share",
|
||||
"type": "custom",
|
||||
"order": 100,
|
||||
"data": {
|
||||
"iconButton": false
|
||||
},
|
||||
"component": "app.shared-link.toggleSharedLink",
|
||||
"rules": {
|
||||
"visible": "canToggleSharedLink"
|
||||
@@ -747,26 +738,14 @@
|
||||
},
|
||||
{
|
||||
"id": "app.viewer.share",
|
||||
"type": "custom",
|
||||
"order": 200,
|
||||
"title": "APP.ACTIONS.SHARE",
|
||||
"icon": "link",
|
||||
"actions": {
|
||||
"click": "SHARE_NODE"
|
||||
"data": {
|
||||
"iconButton": true
|
||||
},
|
||||
"component": "app.shared-link.toggleSharedLink",
|
||||
"rules": {
|
||||
"visible": "app.selection.file.canShare"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "app.viewer.share.edit",
|
||||
"order": 250,
|
||||
"title": "APP.ACTIONS.SHARE_EDIT",
|
||||
"icon": "link",
|
||||
"actions": {
|
||||
"click": "SHARE_NODE"
|
||||
},
|
||||
"rules": {
|
||||
"visible": "app.selection.file.isShared"
|
||||
"visible": "canToggleSharedLink"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
+20
-1
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "إلغاء طلب الانضمام",
|
||||
"LEAVE": "مغادرة المكتبة",
|
||||
"EDIT_OFFLINE": "تحرير دون اتصال بالإنترنت",
|
||||
"EDIT_OFFLINE_CANCEL": "إلغاء التحرير"
|
||||
"EDIT_OFFLINE_CANCEL": "إلغاء التحرير",
|
||||
"LIST_MODE": "عرض القائمة",
|
||||
"GALLERY_MODE": "عرض المعرض"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "هذا العام"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "خيارات المستخدم"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "تحميل إصدار جديد"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "عرض {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "فتح مجلد {{ name }}"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "مكتبة ملفات",
|
||||
"BASELINE-LOCK-24PX": "ملف مؤمن"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+21
-2
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "Zrušit žádost o připojení",
|
||||
"LEAVE": "Opustit knihovnu",
|
||||
"EDIT_OFFLINE": "Upravit offline",
|
||||
"EDIT_OFFLINE_CANCEL": "Zrušit úpravu"
|
||||
"EDIT_OFFLINE_CANCEL": "Zrušit úpravu",
|
||||
"LIST_MODE": "Zobrazit seznam",
|
||||
"GALLERY_MODE": "Zobrazit galerii"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "Letos"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "Uživatelské možnosti"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "Odeslat novou verzi"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "Zobrazit {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Otevřít složku {{ name }}"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "knihovnu souborů",
|
||||
"BASELINE-LOCK-24PX": "uzamčený soubor"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+21
-2
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "Annuller anmodning om tilmelding",
|
||||
"LEAVE": "Forlad bibliotek",
|
||||
"EDIT_OFFLINE": "Rediger offline",
|
||||
"EDIT_OFFLINE_CANCEL": "Annuller redigering"
|
||||
"EDIT_OFFLINE_CANCEL": "Annuller redigering",
|
||||
"LIST_MODE": "Vis liste",
|
||||
"GALLERY_MODE": "Vis galleri"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "I år"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "Valgmuligheder for bruger"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "Upload ny version"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "Vis {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Åbn mappen {{ name }}"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "filbibliotek",
|
||||
"BASELINE-LOCK-24PX": "låst fil"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+21
-2
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "Beitrittsanfrage zurückziehen",
|
||||
"LEAVE": "Bibliothek verlassen",
|
||||
"EDIT_OFFLINE": "Offline bearbeiten",
|
||||
"EDIT_OFFLINE_CANCEL": "Bearbeitung abbrechen"
|
||||
"EDIT_OFFLINE_CANCEL": "Bearbeitung abbrechen",
|
||||
"LIST_MODE": "Liste anzeigen",
|
||||
"GALLERY_MODE": "Galerie anzeigen"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "dieses Jahr"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "Benutzeroptionen"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "Neue Version hochladen"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "{{ name }} anzeigen",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Ordner '{{ name }}' öffnen"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "Dateibibliothek",
|
||||
"BASELINE-LOCK-24PX": "gesperrte Datei"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -509,7 +509,7 @@
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "View file {{ name }}",
|
||||
"FILE_LINK_ARIA_LABEL": "View {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Open {{ name }} folder"
|
||||
}
|
||||
},
|
||||
|
||||
+20
-1
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "Cancelar solicitud de unirse",
|
||||
"LEAVE": "Abandonar biblioteca",
|
||||
"EDIT_OFFLINE": "Editar fuera de línea",
|
||||
"EDIT_OFFLINE_CANCEL": "Cancelar edición"
|
||||
"EDIT_OFFLINE_CANCEL": "Cancelar edición",
|
||||
"LIST_MODE": "Ver lista",
|
||||
"GALLERY_MODE": "Ver galería"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "Este año"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "Opciones de usuario"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "Cargue nueva versión"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "Ver {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Abrir carpeta {{ name }}"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "Biblioteca de ficheros",
|
||||
"BASELINE-LOCK-24PX": "fichero bloqueado"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+21
-2
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "Peruuta liittymispyyntö",
|
||||
"LEAVE": "Poistu kirjastosta",
|
||||
"EDIT_OFFLINE": "Muokkaa offline-tilassa",
|
||||
"EDIT_OFFLINE_CANCEL": "Peruuta muokkaus"
|
||||
"EDIT_OFFLINE_CANCEL": "Peruuta muokkaus",
|
||||
"LIST_MODE": "Tarkastele luetteloa",
|
||||
"GALLERY_MODE": "Tarkastele galleriaa"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "Tänä vuonna"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "Käyttäjän valinnat"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "Lataa uusi versio"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "Tarkastele kohdetta {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Avaa kansio {{ name }}"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "tiedostokirjasto",
|
||||
"BASELINE-LOCK-24PX": "tiedosto lukittu"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+21
-2
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "Annuler la demande pour rejoindre",
|
||||
"LEAVE": "Quitter la bibliothèque",
|
||||
"EDIT_OFFLINE": "Editer hors-ligne",
|
||||
"EDIT_OFFLINE_CANCEL": "Annuler l'édition"
|
||||
"EDIT_OFFLINE_CANCEL": "Annuler l'édition",
|
||||
"LIST_MODE": "Afficher la liste",
|
||||
"GALLERY_MODE": "Afficher la galerie"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "Cette année"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "Options utilisateur"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "Importer une nouvelle version"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "Afficher {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Ouvrir le dossier {{ name }}"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "bibliothèque de fichiers",
|
||||
"BASELINE-LOCK-24PX": "fichier verrouillé"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+33
-14
@@ -8,7 +8,7 @@
|
||||
"ID": "ID",
|
||||
"NAME": "Nome",
|
||||
"VERSION": "Versione",
|
||||
"VENDOR": "Fornitore",
|
||||
"VENDOR": "Venditore",
|
||||
"LICENSE": "Licenza",
|
||||
"RUNTIME": "Runtime",
|
||||
"DESCRIPTION": "Descrizione"
|
||||
@@ -103,9 +103,9 @@
|
||||
}
|
||||
},
|
||||
"FAVORITE_LIBRARIES": {
|
||||
"TITLE": "Raccolte preferite",
|
||||
"TITLE": "Raccolte preferite",
|
||||
"SIDENAV_LINK": {
|
||||
"LABEL": "Raccolte preferite",
|
||||
"LABEL": "Raccolte preferite",
|
||||
"TOOLTIP": "Accedi alle raccolte preferite"
|
||||
}
|
||||
}
|
||||
@@ -201,7 +201,7 @@
|
||||
"UNSHARE": "Rimuovi condivisione",
|
||||
"DETAILS": "Visualizza dettagli",
|
||||
"VERSIONS": "Gestione versioni",
|
||||
"UPLOAD_VERSION": "Caricare la nuova versione",
|
||||
"UPLOAD_VERSION": "Carica la nuova versione",
|
||||
"TOGGLE-SIDENAV": "Attiva/disattiva barra di navigazione laterale",
|
||||
"SHARE": "Condividi",
|
||||
"SHARE_EDIT": "Impostazioni di collegamento condiviso",
|
||||
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "Annulla richiesta di partecipazione",
|
||||
"LEAVE": "Esci dalla raccolta",
|
||||
"EDIT_OFFLINE": "Modifica offline",
|
||||
"EDIT_OFFLINE_CANCEL": "Annulla modifica"
|
||||
"EDIT_OFFLINE_CANCEL": "Annulla modifica",
|
||||
"LIST_MODE": "Visualizza elenco",
|
||||
"GALLERY_MODE": "Visualizza raccolta"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -278,13 +280,13 @@
|
||||
"JOIN_REQUEST_FAILED": "Impossibile partecipare alla raccolta",
|
||||
"JOIN_CANCEL_FAILED": "Impossibile annullare la richiesta di partecipazione",
|
||||
"LEAVE_LIBRARY_FAILED": "Impossibile uscire dalla raccolta",
|
||||
"INVALID_SENDER_EMAIL": "L'indirizzo email deve essere valido prima della richiesta di accesso.",
|
||||
"INVALID_RECEIVER_EMAIL": "Indirizzo email del destinatario non valido. Contattare l'IT."
|
||||
"INVALID_SENDER_EMAIL": "L'indirizzo e-mail deve essere valido prima della richiesta di accesso.",
|
||||
"INVALID_RECEIVER_EMAIL": "Indirizzo e-mail del destinatario non valido. Contattare l'IT."
|
||||
},
|
||||
"UPLOAD": {
|
||||
"ERROR": {
|
||||
"GENERIC": "Caricamento non riuscito. Se il problema persiste, contattare l'IT",
|
||||
"CONFLICT": "Nuova versione non caricata. Esiste già un fil con lo stesso nome.",
|
||||
"CONFLICT": "Nuova versione non caricata. Esiste già un file con lo stesso nome.",
|
||||
"500": "Errore interno del server. Riprovare o contattare il supporto IT [500]",
|
||||
"504": "Timeout del server. Riprovare o contattare il supporto IT [504]",
|
||||
"403": "Autorizzazioni insufficienti per caricare in questa posizione [403]",
|
||||
@@ -295,7 +297,7 @@
|
||||
"TRASH": {
|
||||
"NODES_PURGE": {
|
||||
"PLURAL": "{{ number }} elementi eliminati",
|
||||
"SINGULAR": "Elemento {{ name }} eliminato",
|
||||
"SINGULAR": "{{ name }} eliminato",
|
||||
"PARTIAL_SINGULAR": "Elemento {{ name }} eliminato. Impossibile eliminare l'elemento {{ failed }}.",
|
||||
"PARTIAL_PLURAL": "{{ number }} elementi eliminati, impossibile eliminare {{ failed }}"
|
||||
},
|
||||
@@ -306,7 +308,7 @@
|
||||
},
|
||||
"NODE_DELETION": {
|
||||
"SINGULAR": "{{ name }} eliminato",
|
||||
"PLURAL": "{{ number }} elementi eliminati",
|
||||
"PLURAL": "Eliminati {{ number }} elementi",
|
||||
"PARTIAL_SINGULAR": "Elemento {{ success }} eliminato, impossibile eliminare {{ failed }}",
|
||||
"PARTIAL_PLURAL": "Elementi {{ success }} eliminati, impossibile eliminare {{ failed }}"
|
||||
},
|
||||
@@ -343,7 +345,7 @@
|
||||
"TABS": {
|
||||
"PROPERTIES": "Proprietà",
|
||||
"LIBRARY_PROPERTIES": "Informazioni su",
|
||||
"VERSIONS": "Versione",
|
||||
"VERSIONS": "Versioni",
|
||||
"COMMENTS": "Commenti"
|
||||
}
|
||||
}
|
||||
@@ -365,7 +367,7 @@
|
||||
}
|
||||
},
|
||||
"SHARED_LINK": {
|
||||
"UNSHARE_PERMISSION_ERROR": "Non hai il permesso per rimuovere la condivisione di questo file"
|
||||
"UNSHARE_PERMISSION_ERROR": "Non si dispone dei permessi per rimuovere la condivisione di questo file"
|
||||
},
|
||||
"VERSION": {
|
||||
"DIALOG_ADF": {
|
||||
@@ -373,7 +375,7 @@
|
||||
"CLOSE": "Chiudi"
|
||||
},
|
||||
"DIALOG": {
|
||||
"TITLE": "Utilizza nuova versione",
|
||||
"TITLE": "Carica la nuova versione",
|
||||
"CANCEL": "Annulla",
|
||||
"UPLOAD": "Carica"
|
||||
},
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "Quest'anno"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "Opzioni utente"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -496,8 +503,20 @@
|
||||
"ADF_VERSION_LIST": {
|
||||
"ACTIONS": {
|
||||
"UPLOAD": {
|
||||
"TOOLTIP": "Caricare la nuova versione"
|
||||
"TOOLTIP": "Carica la nuova versione"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "Visualizza {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Apri cartella {{ name }}"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "Raccolta di file",
|
||||
"BASELINE-LOCK-24PX": "File bloccato"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+21
-2
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "参加リクエストのキャンセル",
|
||||
"LEAVE": "ライブラリから脱退",
|
||||
"EDIT_OFFLINE": "オフライン編集",
|
||||
"EDIT_OFFLINE_CANCEL": "編集のキャンセル"
|
||||
"EDIT_OFFLINE_CANCEL": "編集のキャンセル",
|
||||
"LIST_MODE": "リストを表示",
|
||||
"GALLERY_MODE": "ギャラリーを表示"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "今年"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "ユーザーオプション"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "新しいバージョンをアップロードします"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "{{ name }} を表示",
|
||||
"FOLDER_LINK_ARIA_LABEL": "{{ name }} フォルダを開く"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "ファイルライブラリ",
|
||||
"BASELINE-LOCK-24PX": "ロックされているファイル"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+20
-1
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "Avbryt forespørsel om tilslutning",
|
||||
"LEAVE": "Forlat bibliotek",
|
||||
"EDIT_OFFLINE": "Rediger frakoblet",
|
||||
"EDIT_OFFLINE_CANCEL": "Avbryt redigering"
|
||||
"EDIT_OFFLINE_CANCEL": "Avbryt redigering",
|
||||
"LIST_MODE": "Vis liste",
|
||||
"GALLERY_MODE": "Vis galleri"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "Dette året"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "Brukeralternativer"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "Last opp ny versjon"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "Vis {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Åpne {{ name }}-mappe"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "Filbibliotek",
|
||||
"BASELINE-LOCK-24PX": "låst fil"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+21
-2
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "Verzoek om lid te worden annuleren",
|
||||
"LEAVE": "Bibliotheek verlaten",
|
||||
"EDIT_OFFLINE": "Offline bewerken",
|
||||
"EDIT_OFFLINE_CANCEL": "Bewerken annuleren"
|
||||
"EDIT_OFFLINE_CANCEL": "Bewerken annuleren",
|
||||
"LIST_MODE": "Lijst weergeven",
|
||||
"GALLERY_MODE": "Galerie weergeven"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "Dit jaar"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "Gebruikersopties"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "Nieuwe versie uploaden"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "{{ name }} weergeven",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Map {{ name }} openen"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "Bestandsbibliotheek",
|
||||
"BASELINE-LOCK-24PX": "Vergrendeld bestand"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+21
-2
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "Anuluj żądanie dołączenia",
|
||||
"LEAVE": "Opuść bibliotekę",
|
||||
"EDIT_OFFLINE": "Edytuj w trybie offline",
|
||||
"EDIT_OFFLINE_CANCEL": "Anuluj edytowanie"
|
||||
"EDIT_OFFLINE_CANCEL": "Anuluj edytowanie",
|
||||
"LIST_MODE": "Wyświetl listę",
|
||||
"GALLERY_MODE": "Wyświetl galerię"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "W tym roku"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "Opcje użytkownika"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "Prześlij nową wersję"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "Wyświetl {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Otwórz folder {{ name }}"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "bibliotekę plików",
|
||||
"BASELINE-LOCK-24PX": "zablokowany plik"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "Cancelar solicitação de ingressar",
|
||||
"LEAVE": "Sair da biblioteca",
|
||||
"EDIT_OFFLINE": "Editar offline",
|
||||
"EDIT_OFFLINE_CANCEL": "Cancelar a edição"
|
||||
"EDIT_OFFLINE_CANCEL": "Cancelar a edição",
|
||||
"LIST_MODE": "Exibir lista",
|
||||
"GALLERY_MODE": "Exibir galeria"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "Este ano"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "Opções de usuário"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "Carregar nova versão"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "Exibir {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Abrir pasta {{ name }}"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "Biblioteca de arquivo",
|
||||
"BASELINE-LOCK-24PX": "arquivo bloqueado"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+21
-2
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "Отменить запрос на присоединение",
|
||||
"LEAVE": "Покинуть библиотеку",
|
||||
"EDIT_OFFLINE": "Редактировать в автономном режиме",
|
||||
"EDIT_OFFLINE_CANCEL": "Отменить редактирование"
|
||||
"EDIT_OFFLINE_CANCEL": "Отменить редактирование",
|
||||
"LIST_MODE": "Просмотреть список",
|
||||
"GALLERY_MODE": "Просмотреть галерею"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "В этом году"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "Пользовательские настройки"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "Загрузить новую версию"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "Просмотреть {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Открыть папку {{ name }}"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "Библиотека файлов",
|
||||
"BASELINE-LOCK-24PX": "заблокированный файл"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+21
-2
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "Avbryt förfrågan om att gå med",
|
||||
"LEAVE": "Lämna bibliotek",
|
||||
"EDIT_OFFLINE": "Redigera offline",
|
||||
"EDIT_OFFLINE_CANCEL": "Avbryt redigering"
|
||||
"EDIT_OFFLINE_CANCEL": "Avbryt redigering",
|
||||
"LIST_MODE": "Visa lista",
|
||||
"GALLERY_MODE": "Visa galleri"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "Detta år"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "Användaralternativ"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "Ladda upp ny version"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "Visa {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "Öppna mappen {{ name }}"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "filbibliotek",
|
||||
"BASELINE-LOCK-24PX": "låst fil"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -211,7 +211,9 @@
|
||||
"CANCEL_JOIN": "取消加入请求",
|
||||
"LEAVE": "离开库",
|
||||
"EDIT_OFFLINE": "离线编辑",
|
||||
"EDIT_OFFLINE_CANCEL": "取消编辑"
|
||||
"EDIT_OFFLINE_CANCEL": "取消编辑",
|
||||
"LIST_MODE": "查看列表",
|
||||
"GALLERY_MODE": "查看图库"
|
||||
},
|
||||
"DIALOGS": {
|
||||
"CONFIRM_PURGE": {
|
||||
@@ -420,7 +422,7 @@
|
||||
"ERRORS": {
|
||||
"GENERIC": "我们遇到一个问题",
|
||||
"EXISTENT_SITE": "此库 ID 不可用。请尝试使用其他库 ID。",
|
||||
"CONFLICT": "此库 ID 已被使用。请检查回收站。",
|
||||
"CONFLICT": "此库 ID 已被使用。请检查垃圾桶。",
|
||||
"ID_TOO_LONG": "对 URL 名称使用 72 个字符或更少字符",
|
||||
"DESCRIPTION_TOO_LONG": "对描述使用 512 个字符或更少字符",
|
||||
"TITLE_TOO_LONG": "对标题使用 256 个字符或更少字符",
|
||||
@@ -475,6 +477,11 @@
|
||||
"THIS_YEAR": "今年"
|
||||
}
|
||||
},
|
||||
"AVATAR": {
|
||||
"ACCESSIBILITY": {
|
||||
"AVATAR_BUTTON_ARIA_LABEL": "用户选项"
|
||||
}
|
||||
},
|
||||
"CORE": {
|
||||
"METADATA": {
|
||||
"ACTIONS": {
|
||||
@@ -499,5 +506,17 @@
|
||||
"TOOLTIP": "上传新版本"
|
||||
}
|
||||
}
|
||||
},
|
||||
"CUSTOM_NAME_COLUMN": {
|
||||
"ACCESSIBILITY": {
|
||||
"FILE_LINK_ARIA_LABEL": "查看 {{ name }}",
|
||||
"FOLDER_LINK_ARIA_LABEL": "打开 {{ name }} 文件夹"
|
||||
}
|
||||
},
|
||||
"ADF-DATATABLE": {
|
||||
"FILE_TYPE": {
|
||||
"BOOKS-24PX": "文件库",
|
||||
"BASELINE-LOCK-24PX": "已锁定文件"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
export HOST_IP=$(ifconfig | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -v 127.0.0.1 | awk '{ print $2 }' | cut -f2 -d: | head -n1)
|
||||
export APP_URL="http://${HOST_IP}:4000"
|
||||
export APP_URL="http://${HOST_IP}:8080"
|
||||
|
||||
export APP_CONFIG_AUTH_TYPE="OAUTH"
|
||||
export APP_CONFIG_OAUTH2_HOST="http://${HOST_IP}:8085/auth/realms/alfresco"
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
"no-console": [true, "debug", "info", "time", "timeEnd", "trace"],
|
||||
"no-construct": true,
|
||||
"no-debugger": true,
|
||||
"no-duplicate-imports": true,
|
||||
"no-duplicate-super": true,
|
||||
"no-empty": false,
|
||||
"no-empty-interface": true,
|
||||
|
||||
Reference in New Issue
Block a user