14.0.1 release
45
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
@ -1,45 +0,0 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
|
||||
---
|
||||
|
||||
### Preflight Checklist
|
||||
<!-- Please ensure you've completed the following steps by replacing [ ] with [x]-->
|
||||
|
||||
* [ ] I agree to follow the [Code of Conduct](https://github.com/jgraph/drawio/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
|
||||
* [ ] I have searched the issue tracker for a feature request that matches the one I want to file, without success.
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**draw.io version (In the Help->About menu of the draw.io editor):**
|
||||
|
||||
- draw.io version [e.g. 12.6.7]
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. iOS]
|
||||
- Browser [e.g. chrome, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Smartphone (please complete the following information):**
|
||||
- Device: [e.g. iPhone6]
|
||||
- OS: [e.g. iOS8.1]
|
||||
- Browser [e.g. stock browser, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
|
@ -1,20 +0,0 @@
|
|||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
|
||||
---
|
||||
|
||||
* [ ] I agree to follow the [Code of Conduct](https://github.com/jgraph/drawio/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
|
||||
* [ ] I have searched the issue tracker for a feature request that matches the one I want to file, without success.
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
18
.github/stale.yml
vendored
|
@ -1,18 +0,0 @@
|
|||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 100
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 2
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- pinned
|
||||
- security
|
||||
- notstale
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: wontfix
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions. See [the FAQ](https://github.com/jgraph/drawio/wiki/Stale-bot-FAQ) for more information.
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
45
.github/workflows/war.yml
vendored
|
@ -1,45 +0,0 @@
|
|||
# This workflow will build a Java project with Ant
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-ant
|
||||
|
||||
name: WAR CI
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Build war with Ant
|
||||
run: |
|
||||
cd etc/build
|
||||
ant war
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
uses: actions/create-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
|
||||
with:
|
||||
tag_name: ${{ github.ref }}
|
||||
release_name: ${{ github.ref }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
- name: Upload Release Asset
|
||||
id: upload-release-asset
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
|
||||
asset_path: build/draw.war
|
||||
asset_name: draw.war
|
||||
asset_content_type: application/octet-stream
|
|
@ -1,59 +0,0 @@
|
|||
app.html
|
||||
index.html?offline=1
|
||||
index.html?offline=1&ui=min
|
||||
index.html?offline=1&https=0
|
||||
offline.html
|
||||
open.html
|
||||
js/app.min.js
|
||||
js/shapes.min.js
|
||||
js/stencils.min.js
|
||||
js/extensions.min.js
|
||||
js/diagramly/ElectronApp.js
|
||||
styles/grapheditor.css
|
||||
styles/atlas.css
|
||||
styles/dark.css
|
||||
favicon.ico
|
||||
mxgraph/css/common.css
|
||||
mxgraph/images/maximize.gif
|
||||
mxgraph/images/minimize.gif
|
||||
mxgraph/images/close.gif
|
||||
mxgraph/images/resize.gif
|
||||
mxgraph/images/separator.gif
|
||||
mxgraph/images/window.gif
|
||||
mxgraph/images/window-title.gif
|
||||
mxgraph/images/button.gif
|
||||
mxgraph/images/point.gif
|
||||
resources/dia.txt
|
||||
images/delete.png
|
||||
images/droptarget.png
|
||||
images/help.png
|
||||
images/download.png
|
||||
images/drawlogo.svg
|
||||
images/drawlogo-gray.svg
|
||||
images/drawlogo-text-bottom.svg
|
||||
images/logo-flat.png
|
||||
images/osa_drive-harddisk.png
|
||||
images/osa_database.png
|
||||
images/glyphicons_star.png
|
||||
images/logo-confluence.png
|
||||
images/logo-jira.png
|
||||
images/clear.gif
|
||||
images/spin.gif
|
||||
images/checkmark.gif
|
||||
images/favicon-16x16.png
|
||||
images/favicon-32x32.png
|
||||
images/android-chrome-192x192.png
|
||||
images/android-chrome-512x512.png
|
||||
images/glyphicons_google.png
|
||||
images/glyphicons_facebook.png
|
||||
images/glyphicons_twitter.png
|
||||
images/glyphicons_github.png
|
||||
images/hs.png
|
||||
|
||||
# Redirect app to app.html which redirects to index.html?offline=1
|
||||
# this is required to get the URL parameters into the index page.
|
||||
FALLBACK:
|
||||
app app.html
|
||||
|
||||
NETWORK:
|
||||
*
|
|
@ -1,11 +0,0 @@
|
|||
FROM frekele/ant:1.10.3-jdk8 as BUILD
|
||||
RUN mkdir /usr/build
|
||||
COPY src /usr/build/src
|
||||
COPY etc /usr/build/etc
|
||||
COPY VERSION /usr/build
|
||||
RUN cd /usr/build/etc/build/ && ant war
|
||||
|
||||
FROM tomcat:9.0 as TARGET
|
||||
COPY --from=BUILD /usr/build/build/draw.war /usr/local/tomcat/webapps/
|
||||
EXPOSE 8080
|
||||
CMD ["catalina.sh", "run"]
|
|
@ -1,61 +0,0 @@
|
|||
FROM tomcat:9-jre11-slim
|
||||
|
||||
LABEL maintainer="Florian JUDITH <florian.judith.b@gmail.com>"
|
||||
|
||||
ARG VERSION=11.3.0
|
||||
|
||||
RUN apt-get update -y && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
openjdk-11-jdk-headless ant git patch wget xmlstarlet certbot curl && \
|
||||
curl -sL https://deb.nodesource.com/setup_12.x | bash - && \
|
||||
apt-get install -y --no-install-recommends nodejs chromium libatk-bridge2.0-0 libgtk-3-0 && \
|
||||
cd /tmp && \
|
||||
wget https://github.com/jgraph/draw.io/archive/v${VERSION}.zip && \
|
||||
unzip v${VERSION}.zip && \
|
||||
cd /tmp/drawio-${VERSION} && \
|
||||
cd /tmp/drawio-${VERSION}/etc/build && \
|
||||
ant war && \
|
||||
cd /tmp/drawio-${VERSION}/build && \
|
||||
unzip /tmp/drawio-${VERSION}/build/draw.war -d $CATALINA_HOME/webapps/draw && \
|
||||
mkdir /usr/local/drawio && \
|
||||
cd /usr/local/drawio && \
|
||||
git clone https://github.com/jgraph/draw-image-export2.git && \
|
||||
cd draw-image-export2 && \
|
||||
npm install && \
|
||||
apt-get remove -y --purge openjdk-11-jdk-headless ant git patch wget && \
|
||||
apt-get autoremove -y --purge && \
|
||||
apt-get remove -y --purge chromium && \
|
||||
apt-get clean && \
|
||||
rm -r /var/lib/apt/lists/* && \
|
||||
rm -rf \
|
||||
/tmp/v${VERSION}.zip \
|
||||
/tmp/drawio-${VERSION}
|
||||
|
||||
COPY PreConfig.js PostConfig.js $CATALINA_HOME/webapps/draw/js/
|
||||
|
||||
# Update server.xml to set Draw.io webapp to root
|
||||
RUN cd $CATALINA_HOME && \
|
||||
xmlstarlet ed \
|
||||
-P -S -L \
|
||||
-i '/Server/Service/Engine/Host/Valve' -t 'elem' -n 'Context' \
|
||||
-i '/Server/Service/Engine/Host/Context' -t 'attr' -n 'path' -v '/' \
|
||||
-i '/Server/Service/Engine/Host/Context[@path="/"]' -t 'attr' -n 'docBase' -v 'draw' \
|
||||
-s '/Server/Service/Engine/Host/Context[@path="/"]' -t 'elem' -n 'WatchedResource' -v 'WEB-INF/web.xml' \
|
||||
-i '/Server/Service/Engine/Host/Valve' -t 'elem' -n 'Context' \
|
||||
-i '/Server/Service/Engine/Host/Context[not(@path="/")]' -t 'attr' -n 'path' -v '/ROOT' \
|
||||
-s '/Server/Service/Engine/Host/Context[@path="/ROOT"]' -t 'attr' -n 'docBase' -v 'ROOT' \
|
||||
-s '/Server/Service/Engine/Host/Context[@path="/ROOT"]' -t 'elem' -n 'WatchedResource' -v 'WEB-INF/web.xml' \
|
||||
conf/server.xml
|
||||
|
||||
|
||||
# Copy docker-entrypoint
|
||||
COPY docker-entrypoint.sh /
|
||||
RUN chmod +x /docker-entrypoint.sh
|
||||
|
||||
WORKDIR $CATALINA_HOME
|
||||
|
||||
#If export server is not used outside draw.io, no need to expose port 8000
|
||||
EXPOSE 8080 8443 8000
|
||||
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
CMD ["catalina.sh", "run"]
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Copyright (c) 2006-2019, JGraph Ltd
|
||||
* Copyright (c) 2006-2019, draw.io AG
|
||||
*/
|
||||
// null'ing of global vars need to be after init.js
|
||||
window.VSD_CONVERT_URL = null;
|
||||
window.EMF_CONVERT_URL = null;
|
||||
window.ICONSEARCH_PATH = null;
|
|
@ -1,10 +0,0 @@
|
|||
/**
|
||||
* Copyright (c) 2006-2019, JGraph Ltd
|
||||
* Copyright (c) 2006-2019, draw.io AG
|
||||
*/
|
||||
// Overrides of global vars need to be pre-loaded
|
||||
window.EXPORT_URL = '/export'; //This points to ExportProxyServlet which uses the local export server at port 8000.
|
||||
//This proxy configuration allows https requests to the export server via Tomcat.
|
||||
window.PLANT_URL = 'REPLACE_WITH_YOUR_PLANTUML_SERVER';
|
||||
window.DRAW_MATH_URL = 'math';
|
||||
window.DRAWIO_CONFIG = null; //Replace with your custom draw.io configurations. For more details, https://desk.draw.io/support/solutions/articles/16000058316
|
|
@ -1,67 +0,0 @@
|
|||
#!/bin/bash
|
||||
#set -e
|
||||
|
||||
LETS_ENCRYPT_ENABLED=${LETS_ENCRYPT_ENABLED:-false}
|
||||
PUBLIC_DNS=${PUBLIC_DNS:-'draw.example.com'}
|
||||
ORGANISATION_UNIT=${ORGANIZATION_UNIT:-'Cloud Native Application'}
|
||||
ORGANISATION=${ORGANISATION:-'example inc'}
|
||||
CITY=${CITY:-'Paris'}
|
||||
STATE=${STATE:-'Paris'}
|
||||
COUNTRY_CODE=${COUNTRY:-'FR'}
|
||||
KEYSTORE_PASS=${KEYSTORE_PASS:-'V3ry1nS3cur3P4ssw0rd'}
|
||||
KEY_PASS=${KEY_PASS:-$KEYSTORE_PASS}
|
||||
|
||||
|
||||
if ! [ -f $CATALINA_HOME/.keystore ] && [ "$LETS_ENCRYPT_ENABLED" == "true" ]; then
|
||||
echo "Generating Let's Encrypt certificate"
|
||||
|
||||
keytool -genkey -noprompt -alias tomcat -dname "CN=${PUBLIC_DNS}, OU=${ORGANISATION_UNIT}, O=${ORGANISATION}, L=${CITY}, S=${STATE}, C=${COUNTRY_CODE}" -keystore $CATALINA_HOME/.keystore -storepass "${KEYSTORE_PASS}" -KeySize 2048 -keypass "${KEY_PASS}" -keyalg RSA -storetype pkcs12
|
||||
|
||||
keytool -list -keystore $CATALINA_HOME/.keystore -v -storepass "${KEYSTORE_PASS}"
|
||||
|
||||
keytool -certreq -alias tomcat -file request.csr -keystore $CATALINA_HOME/.keystore -storepass "${KEYSTORE_PASS}"
|
||||
|
||||
certbot certonly --csr $CATALINA_HOME/request.csr --standalone --register-unsafely-without-email --agree-tos
|
||||
|
||||
keytool -import -trustcacerts -alias tomcat -file 0001_chain.pem -keystore $CATALINA_HOME/.keystore -storepass "${KEYSTORE_PASS}"
|
||||
fi
|
||||
|
||||
if ! [ -f $CATALINA_HOME/.keystore ] && [ "$LETS_ENCRYPT_ENABLED" == "false" ]; then
|
||||
echo "Generating Self-Signed certificate"
|
||||
|
||||
keytool -genkey -noprompt -alias selfsigned -dname "CN=${PUBLIC_DNS}, OU=${ORGANISATION_UNIT}, O=${ORGANISATION}, L=${CITY}, S=${STATE}, C=${COUNTRY_CODE}" -keystore $CATALINA_HOME/.keystore -storepass "${KEYSTORE_PASS}" -KeySize 2048 -keypass "${KEY_PASS}" -keyalg RSA -validity 3600 -storetype pkcs12
|
||||
|
||||
keytool -list -keystore $CATALINA_HOME/.keystore -v -storepass "${KEYSTORE_PASS}"
|
||||
fi
|
||||
|
||||
# Update SSL port configuration if it does'nt exists
|
||||
#
|
||||
UUID="$(cat /dev/urandom | tr -dc 'a-zA-Z' | fold -w 1 | head -n 1)$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 7 | head -n 1)"
|
||||
VAR=$(cat conf/server.xml | grep "$CATALINA_HOME/.keystore")
|
||||
|
||||
if [ -f $CATALINA_HOME/.keystore ] && [ -z $VAR ]; then
|
||||
echo "Append https connector to server.xml"
|
||||
|
||||
xmlstarlet ed \
|
||||
-P -S -L \
|
||||
-s '/Server/Service' -t 'elem' -n "${UUID}" \
|
||||
-i "/Server/Service/${UUID}" -t 'attr' -n 'port' -v '8443' \
|
||||
-i "/Server/Service/${UUID}" -t 'attr' -n 'protocol' -v 'org.apache.coyote.http11.Http11NioProtocol' \
|
||||
-i "/Server/Service/${UUID}" -t 'attr' -n 'SSLEnabled' -v 'true' \
|
||||
-i "/Server/Service/${UUID}" -t 'attr' -n 'maxThreads' -v '150' \
|
||||
-i "/Server/Service/${UUID}" -t 'attr' -n 'scheme' -v 'https' \
|
||||
-i "/Server/Service/${UUID}" -t 'attr' -n 'secure' -v 'true' \
|
||||
-i "/Server/Service/${UUID}" -t 'attr' -n 'clientAuth' -v 'false' \
|
||||
-i "/Server/Service/${UUID}" -t 'attr' -n 'sslProtocol' -v 'TLS' \
|
||||
-i "/Server/Service/${UUID}" -t 'attr' -n 'KeystoreFile' -v "$CATALINA_HOME/.keystore" \
|
||||
-i "/Server/Service/${UUID}" -t 'attr' -n 'KeystorePass' -v "${KEY_PASS}" \
|
||||
-r "/Server/Service/${UUID}" -v 'Connector' \
|
||||
conf/server.xml
|
||||
fi
|
||||
|
||||
#Run the export server
|
||||
cd /usr/local/drawio/draw-image-export2
|
||||
npm start &
|
||||
cd $CATALINA_HOME
|
||||
|
||||
exec "$@"
|
|
@ -1,166 +0,0 @@
|
|||
div.mxRubberband {
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: #0000FF;
|
||||
background: #0077FF;
|
||||
}
|
||||
.mxCellEditor {
|
||||
background: url(data:image/gif;base64,R0lGODlhMAAwAIAAAP///wAAACH5BAEAAAAALAAAAAAwADAAAAIxhI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8egpAAA7);
|
||||
_background: url('../images/transparent.gif');
|
||||
border-color: transparent;
|
||||
border-style: solid;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
overflow: visible;
|
||||
word-wrap: normal;
|
||||
border-width: 0;
|
||||
min-width: 1px;
|
||||
resize: none;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
.mxPlainTextEditor * {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
div.mxWindow {
|
||||
-webkit-box-shadow: 3px 3px 12px #C0C0C0;
|
||||
-moz-box-shadow: 3px 3px 12px #C0C0C0;
|
||||
box-shadow: 3px 3px 12px #C0C0C0;
|
||||
background: url(data:image/gif;base64,R0lGODlhGgAUAIAAAOzs7PDw8CH5BAAAAAAALAAAAAAaABQAAAIijI+py70Ao5y02lud3lzhD4ZUR5aPiKajyZbqq7YyB9dhAQA7);
|
||||
_background: url('../images/window.gif');
|
||||
border:1px solid #c3c3c3;
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
z-index: 1;
|
||||
}
|
||||
table.mxWindow {
|
||||
border-collapse: collapse;
|
||||
table-layout: fixed;
|
||||
font-family: Arial;
|
||||
font-size: 8pt;
|
||||
}
|
||||
td.mxWindowTitle {
|
||||
background: url(data:image/gif;base64,R0lGODlhFwAXAMQAANfX18rKyuHh4c7OzsDAwMHBwc/Pz+Li4uTk5NHR0dvb2+jo6O/v79/f3/n5+dnZ2dbW1uPj44yMjNPT0+Dg4N3d3ebm5szMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAXABcAAAWQICESxWiW5Ck6bOu+MMvMdG3f86LvfO/rlqBwSCwaj8ikUohoOp/QaDNCrVqvWKpgezhsv+AwmEIum89ocmPNbrvf64p8Tq/b5Yq8fs/v5x+AgYKDhIAAh4iJiouHEI6PkJGSjhOVlpeYmZUJnJ2en6CcBqMDpaanqKgXq6ytrq+rAbKztLW2shK5uru8vbkhADs=) repeat-x;
|
||||
_background: url('../images/window-title.gif') repeat-x;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
overflow: hidden;
|
||||
height: 13px;
|
||||
padding: 2px;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 6px;
|
||||
color: black;
|
||||
}
|
||||
td.mxWindowPane {
|
||||
vertical-align: top;
|
||||
padding: 0px;
|
||||
}
|
||||
div.mxWindowPane {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
td.mxWindowPane td {
|
||||
font-family: Arial;
|
||||
font-size: 8pt;
|
||||
}
|
||||
td.mxWindowPane input, td.mxWindowPane select, td.mxWindowPane textarea, td.mxWindowPane radio {
|
||||
border-color: #8C8C8C;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
font-family: Arial;
|
||||
font-size: 8pt;
|
||||
padding: 1px;
|
||||
}
|
||||
td.mxWindowPane button {
|
||||
background: url(data:image/gif;base64,R0lGODlhCgATALMAAP7+/t7e3vj4+Ojo6OXl5e/v7/n5+fb29vPz8/39/e3t7fHx8e7u7v///wAAAAAAACH5BAAAAAAALAAAAAAKABMAAAQ2MMlJhb0Y6c2X/2AhjiRjnqiirizqMkEsz0Rt30Ou7y8K/ouDcEg0GI9IgHLJbDif0Kh06owAADs=) repeat-x;
|
||||
_background: url('../images/button.gif') repeat-x;
|
||||
font-family: Arial;
|
||||
font-size: 8pt;
|
||||
padding: 2px;
|
||||
float: left;
|
||||
}
|
||||
img.mxToolbarItem {
|
||||
margin-right: 6px;
|
||||
margin-bottom: 6px;
|
||||
border-width: 1px;
|
||||
}
|
||||
select.mxToolbarCombo {
|
||||
vertical-align: top;
|
||||
border-style: inset;
|
||||
border-width: 2px;
|
||||
}
|
||||
div.mxToolbarComboContainer {
|
||||
padding: 2px;
|
||||
}
|
||||
img.mxToolbarMode {
|
||||
margin: 2px;
|
||||
margin-right: 4px;
|
||||
margin-bottom: 4px;
|
||||
border-width: 0px;
|
||||
}
|
||||
img.mxToolbarModeSelected {
|
||||
margin: 0px;
|
||||
margin-right: 2px;
|
||||
margin-bottom: 2px;
|
||||
border-width: 2px;
|
||||
border-style: inset;
|
||||
}
|
||||
div.mxTooltip {
|
||||
-webkit-box-shadow: 3px 3px 12px #C0C0C0;
|
||||
-moz-box-shadow: 3px 3px 12px #C0C0C0;
|
||||
box-shadow: 3px 3px 12px #C0C0C0;
|
||||
background: #FFFFCC;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: black;
|
||||
font-family: Arial;
|
||||
font-size: 8pt;
|
||||
position: absolute;
|
||||
cursor: default;
|
||||
padding: 4px;
|
||||
color: black;
|
||||
}
|
||||
div.mxPopupMenu {
|
||||
-webkit-box-shadow: 3px 3px 12px #C0C0C0;
|
||||
-moz-box-shadow: 3px 3px 12px #C0C0C0;
|
||||
box-shadow: 3px 3px 12px #C0C0C0;
|
||||
background: url(data:image/gif;base64,R0lGODlhGgAUAIAAAOzs7PDw8CH5BAAAAAAALAAAAAAaABQAAAIijI+py70Ao5y02lud3lzhD4ZUR5aPiKajyZbqq7YyB9dhAQA7);
|
||||
_background: url('../images/window.gif');
|
||||
position: absolute;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: black;
|
||||
}
|
||||
table.mxPopupMenu {
|
||||
border-collapse: collapse;
|
||||
margin-top: 1px;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
tr.mxPopupMenuItem {
|
||||
color: black;
|
||||
cursor: pointer;
|
||||
}
|
||||
tr.mxPopupMenuItemHover {
|
||||
background-color: #000066;
|
||||
color: #FFFFFF;
|
||||
cursor: pointer;
|
||||
}
|
||||
td.mxPopupMenuItem {
|
||||
padding: 2px 30px 2px 10px;
|
||||
white-space: nowrap;
|
||||
font-family: Arial;
|
||||
font-size: 8pt;
|
||||
}
|
||||
td.mxPopupMenuIcon {
|
||||
background-color: #D0D0D0;
|
||||
padding: 2px 4px 2px 4px;
|
||||
}
|
||||
.mxDisabled {
|
||||
opacity: 0.2 !important;
|
||||
cursor:default !important;
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
div.mxTooltip {
|
||||
filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4,
|
||||
Color='#A2A2A2', Positive='true');
|
||||
}
|
||||
div.mxPopupMenu {
|
||||
filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4,
|
||||
Color='#C0C0C0', Positive='true');
|
||||
}
|
||||
div.mxWindow {
|
||||
_filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4,
|
||||
Color='#C0C0C0', Positive='true');
|
||||
}
|
||||
td.mxWindowTitle {
|
||||
_height: 23px;
|
||||
}
|
||||
.mxDisabled {
|
||||
filter:alpha(opacity=20) !important;
|
||||
}
|
Before Width: | Height: | Size: 137 B |
Before Width: | Height: | Size: 70 B |
Before Width: | Height: | Size: 877 B |
Before Width: | Height: | Size: 907 B |
Before Width: | Height: | Size: 878 B |
Before Width: | Height: | Size: 843 B |
Before Width: | Height: | Size: 64 B |
Before Width: | Height: | Size: 845 B |
Before Width: | Height: | Size: 55 B |
Before Width: | Height: | Size: 74 B |
Before Width: | Height: | Size: 146 B |
Before Width: | Height: | Size: 56 B |
Before Width: | Height: | Size: 90 B |
Before Width: | Height: | Size: 276 B |
Before Width: | Height: | Size: 425 B |
Before Width: | Height: | Size: 275 B |
Before Width: | Height: | Size: 75 B |
|
@ -1 +0,0 @@
|
|||
Replace_with_your_own_google_client_redirect_url
|
|
@ -1 +0,0 @@
|
|||
Replace_with_your_own_google_client_id
|
|
@ -1 +0,0 @@
|
|||
Replace_with_your_own_google_client_redirect_url
|
|
@ -1 +0,0 @@
|
|||
Replace_with_your_own_microsoft_graph_client_redirect_uri
|
|
@ -1 +0,0 @@
|
|||
Replace_with_your_own_microsoft_graph_client_id
|
|
@ -1 +0,0 @@
|
|||
Replace_with_your_own_microsoft_graph_client_secret
|
|
@ -1 +0,0 @@
|
|||
Replace_with_your_own_microsoft_graph_client_redirect_uri
|
|
@ -1,6 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;url=index.html">
|
||||
</head>
|
||||
</html>
|
|
@ -1,6 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;url=https://app.diagrams.net/">
|
||||
</head>
|
||||
</html>
|
|
@ -1,64 +0,0 @@
|
|||
CACHE MANIFEST
|
||||
|
||||
# THIS FILE WAS GENERATED. DO NOT MODIFY!
|
||||
# 02/17/2020 01:02 pm
|
||||
|
||||
app.html
|
||||
index.html?offline=1
|
||||
index.html?offline=1&ui=min
|
||||
index.html?offline=1&https=0
|
||||
offline.html
|
||||
open.html
|
||||
js/app.min.js
|
||||
js/shapes.min.js
|
||||
js/stencils.min.js
|
||||
js/extensions.min.js
|
||||
js/diagramly/ElectronApp.js
|
||||
styles/grapheditor.css
|
||||
styles/atlas.css
|
||||
styles/dark.css
|
||||
favicon.ico
|
||||
mxgraph/css/common.css
|
||||
mxgraph/images/maximize.gif
|
||||
mxgraph/images/minimize.gif
|
||||
mxgraph/images/close.gif
|
||||
mxgraph/images/resize.gif
|
||||
mxgraph/images/separator.gif
|
||||
mxgraph/images/window.gif
|
||||
mxgraph/images/window-title.gif
|
||||
mxgraph/images/button.gif
|
||||
mxgraph/images/point.gif
|
||||
resources/dia.txt
|
||||
images/delete.png
|
||||
images/droptarget.png
|
||||
images/help.png
|
||||
images/download.png
|
||||
images/drawlogo.svg
|
||||
images/drawlogo-gray.svg
|
||||
images/drawlogo-text-bottom.svg
|
||||
images/logo-flat.png
|
||||
images/osa_drive-harddisk.png
|
||||
images/osa_database.png
|
||||
images/glyphicons_star.png
|
||||
images/logo-confluence.png
|
||||
images/logo-jira.png
|
||||
images/clear.gif
|
||||
images/spin.gif
|
||||
images/checkmark.gif
|
||||
images/favicon-16x16.png
|
||||
images/favicon-32x32.png
|
||||
images/android-chrome-192x192.png
|
||||
images/android-chrome-512x512.png
|
||||
images/glyphicons_google.png
|
||||
images/glyphicons_facebook.png
|
||||
images/glyphicons_twitter.png
|
||||
images/glyphicons_github.png
|
||||
images/hs.png
|
||||
|
||||
# Redirect app to app.html which redirects to index.html?offline=1
|
||||
# this is required to get the URL parameters into the index page.
|
||||
FALLBACK:
|
||||
app app.html
|
||||
|
||||
NETWORK:
|
||||
*
|
|
@ -1,570 +0,0 @@
|
|||
function AttViewerEditor(onSubmit, getFileInfoFn, idSuffix, notStandalone, drawioOnly, genImage)
|
||||
{
|
||||
idSuffix = idSuffix || '';
|
||||
var isDrawio = false;
|
||||
|
||||
var opts =
|
||||
{
|
||||
lines: 12, // The number of lines to draw
|
||||
length: 8, // The length of each line
|
||||
width: 3, // The line thickness
|
||||
radius: 5, // The radius of the inner circle
|
||||
rotate: 0, // The rotation offset
|
||||
color: '#000', // #rgb or #rrggbb
|
||||
speed: 1, // Rounds per second
|
||||
trail: 60, // Afterglow percentage
|
||||
shadow: false, // Whether to render a shadow
|
||||
hwaccel: false, // Whether to use hardware acceleration
|
||||
className: 'spinner', // The CSS class to assign to the spinner
|
||||
zIndex: 2e9 // The z-index (defaults to 2000000000)
|
||||
};
|
||||
|
||||
var spinner = new Spinner(opts);
|
||||
this.spinner = spinner;
|
||||
spinner.spin(AC.$('#spinner-container' + idSuffix));
|
||||
|
||||
var head = document.getElementsByTagName('head')[0];
|
||||
|
||||
// Handles timeouts
|
||||
var acceptResponse = true;
|
||||
|
||||
var timeoutHandler = function()
|
||||
{
|
||||
acceptResponse = false;
|
||||
spinner.stop();
|
||||
alert('The connection has timed out');
|
||||
};
|
||||
|
||||
var timeoutThread = window.setTimeout(timeoutHandler, 25000);
|
||||
|
||||
var selectedFile = null, selFileContent = null, editedFile = null;
|
||||
var curViewer = null;
|
||||
|
||||
function showError(elem, errMsg)
|
||||
{
|
||||
elem.innerHTML = '<img src="data:image/gif;base64,R0lGODlhEAAQAPcAAADGAIQAAISEhP8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEAAAAALAAAAAAQABAAAAhoAAEIFBigYMGBCAkGGMCQ4cGECxtKHBAAYUQCEzFSHLiQgMeGHjEGEAAg4oCQJz86LCkxpEqHAkwyRClxpEyXGmGaREmTIsmOL1GO/DkzI0yOE2sKIMlRJsWhCQHENDiUaVSpS5cmDAgAOw==" border="0" align="absmiddle"/> ' +
|
||||
AC.htmlEntities(errMsg);
|
||||
};
|
||||
|
||||
function prevDrawioFile(doc, prevDiv, filename, aspect)
|
||||
{
|
||||
spinner.stop();
|
||||
|
||||
var container = document.createElement('div');
|
||||
// NOTE: Height must be specified with default value "auto" to force automatic fit in viewer
|
||||
container.style.cssText = 'position:absolute;width:auto;left:0px;right:0px;height:auto;bottom:0px;top:0px;border:1px solid transparent;';
|
||||
prevDiv.appendChild(container);
|
||||
|
||||
var pageId, layerIds;
|
||||
|
||||
if (aspect != null)
|
||||
{
|
||||
var aspectArray = aspect.split(' ');
|
||||
|
||||
if (aspectArray.length > 1)
|
||||
{
|
||||
pageId = aspectArray[0];
|
||||
layerIds = aspectArray.slice(1);
|
||||
}
|
||||
}
|
||||
|
||||
Graph.prototype.shadowId = 'attachmentDropShadow';
|
||||
var viewer = new GraphViewer(container, doc.documentElement,
|
||||
{highlight: '#3572b0', border: 8, 'auto-fit': true,
|
||||
resize: false, nav: true, lightbox: false, title: filename,
|
||||
'toolbar-nohide': true, 'toolbar-position': 'top', toolbar: 'pages layers',
|
||||
pageId: pageId, layerIds: layerIds});
|
||||
|
||||
viewer.graph.addListener('size', function()
|
||||
{
|
||||
var root = this.view.getDrawPane().ownerSVGElement;
|
||||
|
||||
if (root != null)
|
||||
{
|
||||
root.style.minHeight = '';
|
||||
}
|
||||
});
|
||||
|
||||
curViewer = viewer;
|
||||
|
||||
if (typeof AP != 'undefined')
|
||||
{
|
||||
AP.dialog.getButton('submit').enable();
|
||||
var altSubmitBtn = AP.dialog.getButton('altSubmitBtn');
|
||||
|
||||
if (altSubmitBtn) altSubmitBtn.enable();
|
||||
}
|
||||
};
|
||||
|
||||
function prevImageFile(url, prevDiv, success, error)
|
||||
{
|
||||
var img = new Image();
|
||||
|
||||
img.onload = function()
|
||||
{
|
||||
var s = Math.min(prevDiv.offsetWidth / img.width, prevDiv.offsetHeight / img.height);
|
||||
|
||||
if (s < 1)
|
||||
{
|
||||
img.width = s * img.width;
|
||||
img.height = s * img.height;
|
||||
}
|
||||
|
||||
img.style.verticalAlign = 'middle';
|
||||
prevDiv.style.lineHeight = prevDiv.offsetHeight + 'px';
|
||||
prevDiv.appendChild(img);
|
||||
|
||||
if (typeof AP != 'undefined')
|
||||
{
|
||||
AP.dialog.getButton('submit').enable();
|
||||
var altSubmitBtn = AP.dialog.getButton('altSubmitBtn');
|
||||
|
||||
if (altSubmitBtn) altSubmitBtn.enable();
|
||||
}
|
||||
|
||||
spinner.stop();
|
||||
|
||||
if (success)
|
||||
{
|
||||
success(img);
|
||||
}
|
||||
};
|
||||
|
||||
img.onerror = function()
|
||||
{
|
||||
if (error)
|
||||
{
|
||||
error();
|
||||
}
|
||||
|
||||
spinner.stop();
|
||||
};
|
||||
|
||||
img.src = url;
|
||||
curViewer = null;
|
||||
};
|
||||
|
||||
function genericOnSubmit()
|
||||
{
|
||||
var hasError = false;
|
||||
//this cannot happen as the submit button is disabled until a file is selected
|
||||
if (editedFile == null && selectedFile == null)
|
||||
{
|
||||
AC.$('#filenameError' + idSuffix).innerHTML = 'Please select a file';
|
||||
hasError = true;
|
||||
}
|
||||
|
||||
var width = parseInt(AC.$('#width' + idSuffix).value);
|
||||
var height = parseInt(AC.$('#height' + idSuffix).value);
|
||||
var autoSize = AC.$('#autoSize' + idSuffix).checked;
|
||||
|
||||
if (!autoSize && (isNaN(width) || width <= 0))
|
||||
{
|
||||
AC.$('#widthError' + idSuffix).innerHTML = 'Width must be greater than zero';
|
||||
hasError = true;
|
||||
}
|
||||
|
||||
if (!autoSize && (isNaN(height) || height <= 0))
|
||||
{
|
||||
AC.$('#heightError' + idSuffix).innerHTML = 'Height must be greater than zero';
|
||||
hasError = true;
|
||||
}
|
||||
|
||||
if (hasError)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var aspect = null;
|
||||
|
||||
if (curViewer != null)
|
||||
{
|
||||
var layerIds = [];
|
||||
|
||||
var model = curViewer.graph.getModel();
|
||||
var childCount = model.getChildCount(model.root);
|
||||
|
||||
// Get visible layers
|
||||
for (var i = 0; i < childCount; i++)
|
||||
{
|
||||
var layer = model.getChildAt(model.root, i);
|
||||
|
||||
if (model.isVisible(layer))
|
||||
{
|
||||
layerIds.push(layer.id);
|
||||
}
|
||||
}
|
||||
|
||||
aspect = curViewer.diagrams[curViewer.currentPage].getAttribute('id') + ' ' + layerIds.join(' ');
|
||||
|
||||
if (autoSize)
|
||||
{
|
||||
var bounds = curViewer.graph.view.graphBounds;
|
||||
width = Math.round(bounds.width) || null;
|
||||
height = Math.round(bounds.height) || null;
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof AP != 'undefined')
|
||||
{
|
||||
AP.dialog.getButton('submit').disable();
|
||||
var altSubmitBtn = AP.dialog.getButton('altSubmitBtn');
|
||||
|
||||
if (altSubmitBtn) altSubmitBtn.disable();
|
||||
}
|
||||
|
||||
spinner.spin(AC.$('#preview' + idSuffix));
|
||||
|
||||
|
||||
var image = null;
|
||||
|
||||
function finalize()
|
||||
{
|
||||
onSubmit(selectedFile, selFileContent, editedFile, width, height, autoSize, isDrawio, aspect, function()
|
||||
{
|
||||
if (typeof AP != 'undefined')
|
||||
{
|
||||
AP.dialog.getButton('submit').enable();
|
||||
var altSubmitBtn = AP.dialog.getButton('altSubmitBtn');
|
||||
|
||||
if (altSubmitBtn) altSubmitBtn.enable();
|
||||
}
|
||||
|
||||
showError(AC.$('#errorMsg' + idSuffix), 'Uploading file failed');
|
||||
spinner.stop();
|
||||
}, image);
|
||||
};
|
||||
|
||||
if (genImage && curViewer.editor.isExportToCanvas())
|
||||
{
|
||||
curViewer.editor.exportToCanvas(function(canvas)
|
||||
{
|
||||
var data = canvas.toDataURL('image/png');
|
||||
image = data.substring(data.lastIndexOf(',') + 1);
|
||||
finalize();
|
||||
}
|
||||
, null, null, null, finalize);
|
||||
}
|
||||
else
|
||||
{
|
||||
finalize()
|
||||
}
|
||||
}
|
||||
|
||||
this.doSubmit = genericOnSubmit;
|
||||
|
||||
function main()
|
||||
{
|
||||
window.clearTimeout(timeoutThread);
|
||||
spinner.stop();
|
||||
|
||||
AC.$('#filePicker' + idSuffix).addEventListener('click', function(evt)
|
||||
{
|
||||
AC.$('#fileupload' + idSuffix).click();
|
||||
evt.preventDefault();
|
||||
});
|
||||
|
||||
AC.$('#fileupload' + idSuffix).addEventListener('change', function(evt)
|
||||
{
|
||||
if (this.files != null)
|
||||
{
|
||||
var file = this.files[0];
|
||||
|
||||
if (this.files.length == 1 && file != null)
|
||||
{
|
||||
AC.$('#filenameError' + idSuffix).innerHTML = '';
|
||||
AC.$('#filename' + idSuffix).value = file.name;
|
||||
|
||||
var prevDiv = AC.$('#preview' + idSuffix);
|
||||
prevDiv.innerHTML = '';
|
||||
spinner.spin(prevDiv);
|
||||
|
||||
if (typeof convertVSDXtoMX != 'undefined' && /\.v(dx|sdx?)$/i.test(file.name))
|
||||
{
|
||||
convertVSDXtoMX(file, file.name, function(xml)
|
||||
{
|
||||
selFileContent = xml;
|
||||
isDrawio = true;
|
||||
prevDrawioFile(mxUtils.parseXml(xml), prevDiv, file.name);
|
||||
}, function()
|
||||
{
|
||||
showError(prevDiv, 'Unsupported vsdx file');
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
var reader = new FileReader();
|
||||
|
||||
reader.onload = function(e)
|
||||
{
|
||||
var data = e.target.result;
|
||||
var potentialDraw = true;
|
||||
var isImage = false;
|
||||
isDrawio = false;
|
||||
|
||||
if (file.type == 'image/svg+xml' && data.substring(0, 26) == 'data:image/svg+xml;base64,')
|
||||
{
|
||||
var base64 = data.substring(data.indexOf(',') + 1);
|
||||
|
||||
// Workaround for invalid character error in Safari
|
||||
data = (window.atob && !mxClient.IS_SF) ? atob(base64) : Base64.decode(base64, true);
|
||||
}
|
||||
else if (!drawioOnly && file.type.indexOf('image') == 0)
|
||||
{
|
||||
isImage = true;
|
||||
var pngData = null;
|
||||
|
||||
if (file.type == 'image/png')
|
||||
{
|
||||
pngData = AC.extractGraphModelFromPng(data);
|
||||
}
|
||||
|
||||
if (pngData == null)
|
||||
{
|
||||
potentialDraw = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
data = pngData;
|
||||
}
|
||||
}
|
||||
|
||||
selFileContent = data;
|
||||
|
||||
if (potentialDraw)
|
||||
{
|
||||
try
|
||||
{
|
||||
var doc = mxUtils.parseXml(data);
|
||||
|
||||
if (new Editor().extractGraphModel(doc.documentElement) != null)
|
||||
{
|
||||
isDrawio = true;
|
||||
isImage = false
|
||||
prevDrawioFile(doc, prevDiv, file.name);
|
||||
}
|
||||
}
|
||||
catch(e) {}
|
||||
}
|
||||
|
||||
if (isImage)
|
||||
{
|
||||
prevImageFile(data, prevDiv, null, function()
|
||||
{
|
||||
showError(prevDiv, 'Unsupported image file');
|
||||
selectedFile = null;
|
||||
});
|
||||
}
|
||||
else if (!isDrawio)
|
||||
{
|
||||
showError(prevDiv, 'Unsupported file format');
|
||||
selectedFile = null;
|
||||
spinner.stop();
|
||||
}
|
||||
}
|
||||
|
||||
if (file.type.indexOf('image') == 0)
|
||||
{
|
||||
reader.readAsDataURL(file);
|
||||
}
|
||||
else
|
||||
{
|
||||
reader.readAsText(file);
|
||||
}
|
||||
}
|
||||
|
||||
selectedFile = file;
|
||||
editedFile = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
AC.$('#filenameError' + idSuffix).innerHTML = 'Please select a single file only';
|
||||
}
|
||||
}
|
||||
|
||||
// Resets input to force change event for same file (type reset required for IE)
|
||||
this.type = '';
|
||||
this.type = 'file';
|
||||
this.value = '';
|
||||
evt.preventDefault();
|
||||
});
|
||||
|
||||
function removeErrMsg()
|
||||
{
|
||||
AC.$('#' + this.id + 'Error' + idSuffix).innerHTML = '';
|
||||
};
|
||||
|
||||
AC.$('#width' + idSuffix).addEventListener('change', removeErrMsg);
|
||||
AC.$('#height' + idSuffix).addEventListener('change', removeErrMsg);
|
||||
|
||||
if (getFileInfoFn)
|
||||
{
|
||||
var prevDiv = AC.$('#preview' + idSuffix);
|
||||
prevDiv.innerHTML = '';
|
||||
spinner.spin(prevDiv);
|
||||
|
||||
getFileInfoFn(function(fileInfo, fileContent)
|
||||
{
|
||||
var altSubmitBtn = AP.dialog.createButton({
|
||||
text: fileInfo? 'Save' : 'Insert',
|
||||
identifier: 'altSubmitBtn'
|
||||
});
|
||||
altSubmitBtn.bind(genericOnSubmit);
|
||||
altSubmitBtn.disable();
|
||||
var autoSize = true;
|
||||
|
||||
if (fileInfo && fileInfo.attId)
|
||||
{
|
||||
autoSize = fileInfo.autoSize == '1';
|
||||
AC.$('#width' + idSuffix).value = fileInfo.width;
|
||||
AC.$('#height' + idSuffix).value = fileInfo.height;
|
||||
AC.$('#filename' + idSuffix).value = fileInfo.filename;
|
||||
|
||||
editedFile = fileInfo;
|
||||
|
||||
if (fileInfo.isDrawio == '1')
|
||||
{
|
||||
if (fileInfo.mimeType == 'image/png')
|
||||
{
|
||||
fileContent = AC.extractGraphModelFromPng(fileContent);
|
||||
}
|
||||
|
||||
var doc = mxUtils.parseXml(fileContent);
|
||||
|
||||
try
|
||||
{
|
||||
prevDrawioFile(doc, prevDiv, fileInfo.filename, fileInfo.aspect);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
showError(prevDiv, 'Attachment file "' + fileInfo.filename + '" is corrupted');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
prevImageFile(fileContent, prevDiv, null, function()
|
||||
{
|
||||
showError(prevDiv, 'Attachment file "' + fileInfo.filename + '" is corrupted');
|
||||
});
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
spinner.stop();
|
||||
}
|
||||
|
||||
AC.$('#autoSize' + idSuffix).checked = autoSize;
|
||||
autoSizeChanged(autoSize);
|
||||
}, function(fileInfo)
|
||||
{
|
||||
if (fileInfo != null && fileInfo.filename == null)
|
||||
{
|
||||
prevDiv.innerHTML = '<a style="display:block;text-align:center;position:absolute;' +
|
||||
'top:50%;left:50%;transform:translate(-50%,-50%);cursor:pointer">Choose a file...</button>'
|
||||
|
||||
prevDiv.getElementsByTagName('a')[0].addEventListener('click', function(evt)
|
||||
{
|
||||
document.getElementById('filePicker').click();
|
||||
evt.preventDefault();
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
showError(prevDiv, fileInfo? 'Failed to load attachment file "' + fileInfo.filename + '"' : 'Unexpected Error');
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
//This function expects having the downloadUrl in the fileInfo
|
||||
this.loadDrawioFile = function(fileInfo)
|
||||
{
|
||||
editedFile = fileInfo;
|
||||
AC.$('#filename' + idSuffix).value = fileInfo.diagramDisplayName;
|
||||
AC.$('#autoSize' + idSuffix).checked = true;
|
||||
var prevDiv = AC.$('#preview' + idSuffix);
|
||||
prevDiv.innerHTML = '';
|
||||
spinner.spin(prevDiv);
|
||||
|
||||
var req = new XMLHttpRequest();
|
||||
req.open('GET', fileInfo.downloadUrl);
|
||||
|
||||
req.onreadystatechange = function()
|
||||
{
|
||||
if (this.readyState == 4)
|
||||
{
|
||||
if (this.status >= 200 && this.status <= 299)
|
||||
{
|
||||
selFileContent = req.responseText;
|
||||
var doc = mxUtils.parseXml(selFileContent);
|
||||
|
||||
try
|
||||
{
|
||||
prevDrawioFile(doc, prevDiv, fileInfo.diagramDisplayName, fileInfo.aspect);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
showError(prevDiv, 'Attachment file "' + fileInfo.diagramName + '" is corrupted');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
showError(prevDiv, 'Cannot read attachment file "' + fileInfo.diagramName + '".');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
req.send();
|
||||
};
|
||||
|
||||
function autoSizeChanged(isChecked)
|
||||
{
|
||||
if(isChecked)
|
||||
{
|
||||
AC.$('#width' + idSuffix).setAttribute('disabled', 'disabled');
|
||||
AC.$('#height' + idSuffix).setAttribute('disabled', 'disabled');
|
||||
}
|
||||
else
|
||||
{
|
||||
AC.$('#width' + idSuffix).removeAttribute('disabled');
|
||||
AC.$('#height' + idSuffix).removeAttribute('disabled');
|
||||
}
|
||||
};
|
||||
|
||||
AC.$('#autoSize' + idSuffix).addEventListener('change', function(evt)
|
||||
{
|
||||
autoSizeChanged(this.checked);
|
||||
});
|
||||
|
||||
function loadAtlassianApi()
|
||||
{
|
||||
var script = document.createElement('script');
|
||||
|
||||
script.onload = function()
|
||||
{
|
||||
AP.dialog.disableCloseOnSubmit();
|
||||
|
||||
//TODO when conf bug of submit is fixed, re-enable this and remove the button above
|
||||
AP.dialog.getButton('submit').hide();
|
||||
|
||||
AP.events.on('dialog.submit', genericOnSubmit);
|
||||
AP.dialog.getButton('submit').disable();
|
||||
main();
|
||||
};
|
||||
|
||||
script.src = 'https://connect-cdn.atl-paas.net/all.js';
|
||||
script.setAttribute('data-options', 'resize:false;margin:false');
|
||||
head.appendChild(script);
|
||||
};
|
||||
|
||||
// Loads APIs
|
||||
if (!notStandalone)
|
||||
{
|
||||
loadAtlassianApi();
|
||||
}
|
||||
else
|
||||
{
|
||||
main();
|
||||
}
|
||||
};
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
{
|
||||
"key": "com.mxgraph.bitbucket.plugins.diagramly",
|
||||
"name": "Draw.io Viewer",
|
||||
"description": "Viewer for files created with draw.io",
|
||||
"baseUrl": "https://8d3077df.ngrok.io",
|
||||
"modules": {
|
||||
"fileViews": [
|
||||
{
|
||||
"key": "diagram",
|
||||
"name": {
|
||||
"value": "Diagram"
|
||||
},
|
||||
"url": "/viewer.html?repo={repo_uuid}&cset={file_cset}&path={file_path}&name={file_name}",
|
||||
"file_matches": {
|
||||
"extensions": ["xml"]
|
||||
}
|
||||
}
|
||||
],
|
||||
"oauthConsumer": {
|
||||
"clientId": "Ss8dQHwm4RaeMqCaak"
|
||||
}
|
||||
},
|
||||
"scopes": [
|
||||
"repository"
|
||||
],
|
||||
"contexts": [
|
||||
"personal"
|
||||
]
|
||||
}
|
|
@ -1,200 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Draw.io Viewer</title>
|
||||
<script src="https://bitbucket.org/atlassian-connect/all.js"></script>
|
||||
<style type="text/css">
|
||||
html, body {
|
||||
height:100%;
|
||||
overflow:hidden;
|
||||
}
|
||||
body {
|
||||
background-color:#ffffff;
|
||||
background-image:url(/images/logo-flat.png);
|
||||
background-repeat:no-repeat;
|
||||
background-position:center;
|
||||
font-family:Arial,sans-serif;
|
||||
width:100%;
|
||||
margin:0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript">
|
||||
// Parses URL parameters
|
||||
function getUrlParam(param)
|
||||
{
|
||||
var result = (new RegExp(param + '=([^&]*)')).exec(window.location.search);
|
||||
|
||||
if (result != null && result.length > 0)
|
||||
{
|
||||
return decodeURIComponent(result[1].replace(/\+/g, '%20'))
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
// Sets global environment variables
|
||||
RESOURCE_BASE = '/resources/dia';
|
||||
STENCIL_PATH = '/stencils';
|
||||
SHAPES_PATH = '/shapes';
|
||||
|
||||
// Overrides browser language with Confluence user language
|
||||
var lang = getUrlParam('loc');
|
||||
|
||||
// Language is in the Connect URL
|
||||
if (lang != null)
|
||||
{
|
||||
var dash = lang.indexOf('-');
|
||||
|
||||
if (dash >= 0)
|
||||
{
|
||||
mxLanguage = lang.substring(0, dash);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript" src="/js/viewer.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
(function()
|
||||
{
|
||||
// Enables dynamic loading of shapes and stencils (same domain)
|
||||
mxStencilRegistry.dynamicLoading = true;
|
||||
|
||||
var srcRawUrl = '/1.0/repositories/{}/' + RBR.queryParam('repo') +
|
||||
'/raw/' + RBR.queryParam('cset') +
|
||||
'/' + RBR.queryParam('path');
|
||||
|
||||
var tbHeight = GraphViewer.prototype.toolbarHeight;
|
||||
var border = 8;
|
||||
|
||||
document.body.style.backgroundImage = 'url(/images/ajax-loader.gif)';
|
||||
|
||||
function main()
|
||||
{
|
||||
//keeping the block of AP.require to minimize the number of changes!
|
||||
{
|
||||
AP.request(
|
||||
{
|
||||
url: srcRawUrl,
|
||||
responseType: 'text/plain',
|
||||
success: function (xml)
|
||||
{
|
||||
|
||||
// LATER: Fix horizontal alignment ignored with 100% width of iframe
|
||||
// LATER: Fix page scrolling on touch device if trigger event on diagram
|
||||
// LATER: Hide toolbar after second container click for iOS
|
||||
// LATER: Disable responsive resize while lightbox shows
|
||||
var container = document.createElement('div');
|
||||
container.style.cssText = 'position:absolute;box-sizing:border-box;' +
|
||||
'max-width:100%;margin-bottom:' + tbHeight +'px;border:1px solid transparent;';
|
||||
document.body.appendChild(container);
|
||||
var doc = mxUtils.parseXml(xml);
|
||||
|
||||
var viewer = new GraphViewer(container, doc.documentElement,
|
||||
{highlight: '#3572b0', 'toolbar-position': 'top', nav: true,
|
||||
'max-height': screen.height / 1.5,
|
||||
toolbar: 'zoom layers lightbox', title: name, border: border});
|
||||
|
||||
// Handles resize of iframe after zoom
|
||||
var graphDoResizeContainer = viewer.graph.doResizeContainer;
|
||||
|
||||
function updateHeight()
|
||||
{
|
||||
AP.resize('100%', container.offsetHeight + tbHeight);
|
||||
}
|
||||
|
||||
viewer.graph.doResizeContainer = function(width, height)
|
||||
{
|
||||
graphDoResizeContainer.apply(this, arguments);
|
||||
updateHeight();
|
||||
};
|
||||
|
||||
// Updates the size of the iframe in responsive cases
|
||||
viewer.updateContainerHeight = function(container, height)
|
||||
{
|
||||
updateHeight();
|
||||
};
|
||||
|
||||
updateHeight();
|
||||
|
||||
viewer.showLightbox = function()
|
||||
{
|
||||
dialog.create(
|
||||
{
|
||||
header: name,
|
||||
key: 'lightbox',
|
||||
size: 'fullscreen',
|
||||
customData: {id: id, name: name},
|
||||
chrome: true
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
},
|
||||
error: function(err)
|
||||
{
|
||||
document.body.innerHTML = 'Failed to load source file from Bitbucket. (' +
|
||||
JSON.stringify(err) + ')';
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
mxResources.loadDefaultBundle = false;
|
||||
var bundle = mxResources.getDefaultBundle(RESOURCE_BASE, mxLanguage) ||
|
||||
mxResources.getSpecialBundle(RESOURCE_BASE, mxLanguage);
|
||||
|
||||
// Prefetches asynchronous requests so that below code runs synchronous
|
||||
// Loading the correct bundle (one file) via the fallback system in mxResources. The stylesheet
|
||||
// is compiled into JS in the build process and is only needed for local development.
|
||||
var bundleLoaded = false;
|
||||
var scriptLoaded = false;
|
||||
var validSize = document.documentElement.offsetWidth > 0;
|
||||
|
||||
function mainBarrier()
|
||||
{
|
||||
if (validSize && bundleLoaded && scriptLoaded)
|
||||
{
|
||||
main();
|
||||
}
|
||||
};
|
||||
|
||||
// Workaround for collapsed side panel is to delay main until size is not 0
|
||||
if (!validSize)
|
||||
{
|
||||
var listener = function()
|
||||
{
|
||||
if (document.documentElement.offsetWidth > 0)
|
||||
{
|
||||
window.removeEventListener('resize', listener);
|
||||
validSize = true;
|
||||
mainBarrier();
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('resize', listener);
|
||||
}
|
||||
|
||||
mxUtils.getAll([bundle], function(xhr)
|
||||
{
|
||||
// Adds bundle text to resources
|
||||
mxResources.parse(xhr[0].getText());
|
||||
bundleLoaded = true;
|
||||
mainBarrier();
|
||||
});
|
||||
|
||||
script.onload = function()
|
||||
{
|
||||
scriptLoaded = true;
|
||||
mainBarrier();
|
||||
};
|
||||
|
||||
script.src = baseUrl + '/atlassian-connect/all.js';
|
||||
script.setAttribute('data-options', 'sizeToParent:true;');
|
||||
document.getElementsByTagName('head')[0].appendChild(script);
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 891 B |
Before Width: | Height: | Size: 871 B |
Before Width: | Height: | Size: 271 B |
Before Width: | Height: | Size: 56 B |
Before Width: | Height: | Size: 341 B |
Before Width: | Height: | Size: 215 B |
Before Width: | Height: | Size: 256 B |
Before Width: | Height: | Size: 916 B |
Before Width: | Height: | Size: 901 B |
Before Width: | Height: | Size: 898 B |
|
@ -1,115 +0,0 @@
|
|||
var ATLAS_RESOURCE_BASE = '../..';
|
||||
var RESOURCES_PATH = ATLAS_RESOURCE_BASE + '/resources';
|
||||
var RESOURCE_BASE = RESOURCES_PATH + '/dia';
|
||||
var STENCIL_PATH = ATLAS_RESOURCE_BASE + '/stencils';
|
||||
var SHAPES_PATH = ATLAS_RESOURCE_BASE + '/shapes';
|
||||
var IMAGE_PATH = '../../images';
|
||||
var GRAPH_IMAGE_PATH = ATLAS_RESOURCE_BASE + '/img';
|
||||
var STYLE_PATH = '../../styles';
|
||||
var CSS_PATH = STYLE_PATH;
|
||||
var OPEN_FORM = ATLAS_RESOURCE_BASE + '/html/open.html';
|
||||
var TEMPLATE_PATH = ATLAS_RESOURCE_BASE + '/templates';
|
||||
|
||||
var mxBasePath = ATLAS_RESOURCE_BASE + '/mxgraph';
|
||||
var mxLoadResources = false;
|
||||
|
||||
var umlDomain = false;
|
||||
var collab = null;
|
||||
|
||||
// Specifies connection mode for touch devices (at least one should be true)
|
||||
var isLocalStorage = typeof(Storage) != 'undefined';
|
||||
var uiTheme = 'atlas';
|
||||
|
||||
var urlParams = (function(url) {
|
||||
var result = new Object();
|
||||
var idx = url.lastIndexOf('?');
|
||||
|
||||
if (idx > 0) {
|
||||
var params = url.substring(idx + 1).split('&');
|
||||
|
||||
for ( var i = 0; i < params.length; i++) {
|
||||
idx = params[i].indexOf('=');
|
||||
|
||||
if (idx > 0) {
|
||||
result[params[i].substring(0, idx)] = params[i].substring(idx + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
})(window.location.href);
|
||||
|
||||
function getLanguage()
|
||||
{
|
||||
var lang = urlParams['lang'];
|
||||
|
||||
if (lang == null)
|
||||
{
|
||||
// Cannot use mxSettings here
|
||||
if (isLocalStorage)
|
||||
{
|
||||
try
|
||||
{
|
||||
var value = localStorage.getItem('.drawio-config');
|
||||
|
||||
if (value != null)
|
||||
{
|
||||
lang = JSON.parse(value).language || null;
|
||||
}
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
// cookies are disabled, attempts to use local storage will cause
|
||||
// a DOM error at a minimum on Chrome
|
||||
isLocalStorage = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return lang;
|
||||
};
|
||||
|
||||
var mxLanguage = getLanguage();
|
||||
|
||||
// Add new languages here. First entry is translated to [Automatic]
|
||||
// in the menu defintion in Diagramly.js.
|
||||
var mxLanguageMap = {'i18n': '', 'id' : 'Bahasa Indonesia', 'ms' : 'Bahasa Melayu', 'bs' : 'Bosanski', 'ca' : 'Català', 'cs' : 'Čeština', 'da' : 'Dansk', 'de' : 'Deutsch', 'et' : 'Eesti', 'en' : 'English', 'es' : 'Español',
|
||||
'fil' : 'Filipino', 'fr' : 'Français', 'gl' : 'Galego', 'it' : 'Italiano', 'hu' : 'Magyar', 'nl' : 'Nederlands', 'no' : 'Norsk',
|
||||
'pl' : 'Polski', 'pt-br' : 'Português (Brasil)', 'pt' : 'Português (Portugal)', 'ro' : 'Română', 'fi' : 'Suomi', 'sv' : 'Svenska', 'vi' : 'Tiếng Việt', 'tr' : 'Türkçe',
|
||||
'el' : 'Ελληνικά', 'ru' : 'Русский', 'sr' : 'Српски', 'uk' : 'Українська', 'he' : 'עברית',
|
||||
'ar' : 'العربية', 'th' : 'ไทย', 'ko' : '한국어', 'ja' : '日本語', 'zh' : '简体中文', 'zh-tw' : '繁體中文'};
|
||||
|
||||
var mxLanguages = [];
|
||||
|
||||
// Populates the list of supported special language bundles
|
||||
for (var lang in mxLanguageMap)
|
||||
{
|
||||
// Empty means default (ie. browser language), "en" means English (default for unsupported languages)
|
||||
// Since "en" uses no extension this must not be added to the array of supported language bundles.
|
||||
if (lang != 'en')
|
||||
{
|
||||
mxLanguages.push(lang);
|
||||
}
|
||||
}
|
||||
|
||||
function mxscript(src)
|
||||
{
|
||||
document.write('<script src="'+src+'"></scri' + 'pt>');
|
||||
};
|
||||
|
||||
/* for debugging */
|
||||
if (urlParams['dev'] == '1')
|
||||
{
|
||||
var mxDevUrl = document.location.protocol + '//devhost.jgraph.com/mxgraph2';
|
||||
var drawDevUrl = document.location.protocol + '//test.draw.io/';
|
||||
geBasePath = mxDevUrl + '/javascript/examples/grapheditor/www/js';
|
||||
mxBasePath = mxDevUrl + '/javascript/src';
|
||||
|
||||
mxscript(mxBasePath + '/js/mxClient.js');
|
||||
mxscript(drawDevUrl + 'js/diagramly/Devel.js');
|
||||
mxscript(drawDevUrl + 'connect/common/js/mxReader.js');
|
||||
}
|
||||
else
|
||||
{
|
||||
mxscript('../../js/atlas.min.js');
|
||||
}
|
|
@ -1,827 +0,0 @@
|
|||
/**
|
||||
* A Draw.io diagram viewer component with configurable toolbar buttons for editing, deleting and zooming buttons.
|
||||
* Parameters :
|
||||
* diagramName - name of the diagram
|
||||
* attachmentId - ID of the diagram attachment
|
||||
* ceoId - page ID or issue key
|
||||
* readerOpts - JSON object with options :
|
||||
* loadUrl - url from which to load the diagram
|
||||
* editUrl - url of the editor
|
||||
* stylePath - url from which to load the css
|
||||
* stencilPath - url from which to load the stencils
|
||||
* imagePath - url from which to load the graph mages
|
||||
* resourcePath - path to the translations
|
||||
* viewerToolbar - show toolbar or not
|
||||
* autoSize - resizes the graph container to match the graph bounds
|
||||
* width - width of the container
|
||||
* height - height of the container
|
||||
* disableButtons - disables all buttons
|
||||
* center - should the diagram be horizontally centered or not
|
||||
* evaluation - evaluation mode
|
||||
* lightbox - boolean indicating if this viewer is a lightbox
|
||||
* graphDocument - optional document containing the XML data
|
||||
*/
|
||||
function DrawioViewer(diagramName, attachmentId, ceoId, readerOpts, lightbox, graphDocument, connect)
|
||||
{
|
||||
this.id = attachmentId;
|
||||
this.diagramName = diagramName;
|
||||
this.ceoId = ceoId;
|
||||
this.options = readerOpts;
|
||||
this.lightbox = lightbox;
|
||||
this.graphDocument = graphDocument;
|
||||
this.connect = connect;
|
||||
this.paddingBottom = (connect) ? 0 : 30;
|
||||
|
||||
// Overrides browser language with Confluence user language
|
||||
var lang = null;
|
||||
|
||||
// Language is in the readOpts in Server and in the URL in Connect
|
||||
if (!connect && readerOpts.language != null)
|
||||
{
|
||||
lang = readerOpts.language
|
||||
}
|
||||
else if (connect != null && urlParams['loc'] != null)
|
||||
{
|
||||
lang = urlParams['loc'];
|
||||
var dash = lang.indexOf('-');
|
||||
|
||||
if (dash >= 0)
|
||||
{
|
||||
lang = lang.substring(0, dash);
|
||||
}
|
||||
}
|
||||
|
||||
// Only german and english supported currently. English is default.
|
||||
if (lang == 'de')
|
||||
{
|
||||
mxClient.language = 'de';
|
||||
}
|
||||
|
||||
// Special extension used for the message bundle. For this bundle there is only a German
|
||||
// translation and the default English bundle so we temporarily override isLanguageSupported
|
||||
// to return true only if German is used and fallback to English for all other languages.
|
||||
var prevExtension = mxResources.extension;
|
||||
var prevIsLangSupported = mxResources.isLanguageSupported;
|
||||
mxResources.extension = '.txt';
|
||||
|
||||
mxResources.isLanguageSupported = function(lan)
|
||||
{
|
||||
return lan == 'de';
|
||||
};
|
||||
|
||||
mxResources.add(this.options.resourcePath);
|
||||
|
||||
// Restores previous settings
|
||||
mxResources.extension = prevExtension;
|
||||
mxResources.isLanguageSupported = prevIsLangSupported;
|
||||
|
||||
this.buttons = this.createButtons();
|
||||
|
||||
this.transparentImage = Editor.prototype.transparentImage;
|
||||
this.extractGraphModel = Editor.prototype.extractGraphModel;
|
||||
this.setGraphXml = Editor.prototype.setGraphXml;
|
||||
this.readGraphState = Editor.prototype.readGraphState;
|
||||
this.resetGraph = Editor.prototype.resetGraph;
|
||||
this.decompress = Editor.prototype.decompress;
|
||||
this.updateGraphComponents = Editor.prototype.updateGraphComponents;
|
||||
this.fireEvent = Editor.prototype.fireEvent;
|
||||
this.addListener = Editor.prototype.addListener;
|
||||
this.originalNoForeignObject = Editor.prototype.originalNoForeignObject;
|
||||
this.gridImage = '';
|
||||
|
||||
this.addListener('resetGraphView', this.resetGraphView);
|
||||
}
|
||||
|
||||
DrawioViewer.prototype = new mxEventSource();
|
||||
|
||||
DrawioViewer.prototype.graph = null;
|
||||
DrawioViewer.prototype.id = null;
|
||||
DrawioViewer.prototype.toolbar = null;
|
||||
DrawioViewer.prototype.options = null;
|
||||
DrawioViewer.prototype.originX = 0;
|
||||
DrawioViewer.prototype.originY = 0;
|
||||
DrawioViewer.prototype.popupWindow = null;
|
||||
DrawioViewer.prototype.buttons = {};
|
||||
|
||||
DrawioViewer.prototype.graphXmlString = null;
|
||||
|
||||
DrawioViewer.prototype.installToolbar = function()
|
||||
{
|
||||
this.toolbar = document.createElement('div');
|
||||
var toolbar = this.toolbar;
|
||||
var container = this.graph.container;
|
||||
toolbar.id = 'diagramly-reader-toolbar-' + this.id;
|
||||
toolbar.className = 'diagramly-reader-toolbar';
|
||||
toolbar.style.position = 'absolute';
|
||||
|
||||
container.parentNode.appendChild(toolbar);
|
||||
|
||||
toolbar.style.height = '30px';
|
||||
toolbar.style.width = this.countVisibleButtons() * 29 + 'px';
|
||||
|
||||
// Makes sure the toolbar is always visible and
|
||||
// disables toolbar for all overflow content
|
||||
container.parentNode.style.overflow = 'visible';
|
||||
|
||||
if (this.lightbox)
|
||||
{
|
||||
toolbar.style.bottom = '4px';
|
||||
toolbar.style.left = '50%';
|
||||
toolbar.style.width = this.countVisibleButtons() * 29 + 'px';
|
||||
toolbar.style.marginLeft = -Math.round(this.countVisibleButtons() * 29 / 2) + 'px'
|
||||
}
|
||||
else
|
||||
{
|
||||
container.parentNode.style.paddingBottom = this.paddingBottom + 'px';
|
||||
|
||||
var bs = this.graph.getBorderSizes();
|
||||
toolbar.style.bottom = (container.offsetTop + bs.y + 4) + 'px';
|
||||
toolbar.style.left = (container.offsetLeft + bs.x) + 'px';
|
||||
|
||||
if (!mxClient.IS_TOUCH)
|
||||
{
|
||||
toolbar.style.display = 'none';
|
||||
|
||||
$(container.parentNode).hover(function()
|
||||
{
|
||||
toolbar.style.bottom = (container.offsetTop + bs.y + 4) + 'px';
|
||||
toolbar.style.left = (container.offsetLeft + bs.x) + 'px';
|
||||
|
||||
$(toolbar).fadeIn(100);
|
||||
},
|
||||
function()
|
||||
{
|
||||
$(toolbar).fadeOut(100);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DrawioViewer.prototype.countVisibleButtons = function()
|
||||
{
|
||||
var counter = 0;
|
||||
|
||||
for(var key in this.buttons)
|
||||
{
|
||||
var button = this.buttons[key];
|
||||
|
||||
if (button.visible)
|
||||
{
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
|
||||
return counter;
|
||||
}
|
||||
|
||||
DrawioViewer.prototype.init = function()
|
||||
{
|
||||
this.loadStylesheet();
|
||||
|
||||
// Makes the shadow brighter
|
||||
mxConstants.SHADOWCOLOR = '#000000';
|
||||
mxConstants.SHADOW_OPACITY = 0.25;
|
||||
this.graph.setEnabled(false);
|
||||
this.graph.autoScroll = false;
|
||||
this.graph.container.style.overflow = 'hidden';
|
||||
this.graph.container.style.cursor = 'move';
|
||||
|
||||
// Panning only enabled in lightbox to allow text selection in viewer
|
||||
this.graph.setPanning(true);
|
||||
|
||||
// Workaround for context trigger starting panning if ignoreCell is true
|
||||
this.graph.panningHandler.useLeftButtonForPanning = true;
|
||||
this.graph.panningHandler.usePopupTrigger = false;
|
||||
this.graph.panningHandler.ignoreCell = true;
|
||||
|
||||
this.graph.panningHandler.isForcePanningEvent = function(me)
|
||||
{
|
||||
return mxEvent.isLeftMouseButton(me.getEvent());
|
||||
};
|
||||
|
||||
// Folding only enabled in lightbox
|
||||
this.graph.foldingEnabled = this.lightbox;
|
||||
|
||||
// Overrides click handler to ignore graph enabled state
|
||||
if (this.graph.foldingEnabled)
|
||||
{
|
||||
this.graph.cellRenderer.createControlClickHandler = function(state)
|
||||
{
|
||||
var graph = state.view.graph;
|
||||
|
||||
return function (evt)
|
||||
{
|
||||
var collapse = !graph.isCellCollapsed(state.cell);
|
||||
graph.foldCells(collapse, false, [state.cell], null, evt);
|
||||
mxEvent.consume(evt);
|
||||
};
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
// Hides collapse/expand icon if folding is disabled
|
||||
this.graph.getFoldingImage = function()
|
||||
{
|
||||
return null;
|
||||
};
|
||||
};
|
||||
|
||||
// HTML entities are displayed as plain text in wrapped plain text labels
|
||||
this.graph.cellRenderer.getLabelValue = function(state)
|
||||
{
|
||||
var result = mxCellRenderer.prototype.getLabelValue.apply(this, arguments);
|
||||
|
||||
if (state.view.graph.isHtmlLabel(state.cell))
|
||||
{
|
||||
if (state.style['html'] != 1)
|
||||
{
|
||||
result = mxUtils.htmlEntities(result, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = state.view.graph.sanitizeHtml(result);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
// Enables links if graph is "disabled" (ie. read-only)
|
||||
this.graph.click = function(me)
|
||||
{
|
||||
var cell = me.getCell();
|
||||
|
||||
if (cell != null && !me.isConsumed() && (mxEvent.isTouchEvent(me.getEvent()) ||
|
||||
mxEvent.isLeftMouseButton(me.getEvent())))
|
||||
{
|
||||
var href = this.getLinkForCell(cell);
|
||||
|
||||
// Test cases:
|
||||
// 1) the relative link without the Conf base path, with a leading slash, e.g. /download/attachment/....
|
||||
// 2) the relative link with the Conf base path, with a leading slash, e.g. /confluence/download/attachmentss/...
|
||||
// 3) the relative link without the conf base path, without a leading slash, e.g. download/attachments/...
|
||||
// 4) the full absolute path, e.g. https://localhost:1990/confluence/download/attachments/...
|
||||
// 5) full path without protocol, e.g. //confluence/download/attachments/...
|
||||
|
||||
if (href != null)
|
||||
{
|
||||
var r = new RegExp('^(?:[a-z]+:)?//', 'i'); // https://stackoverflow.com/questions/10687099/how-to-test-if-a-url-string-is-absolute-or-relative
|
||||
|
||||
if (!r.test(href))
|
||||
{
|
||||
// relative link
|
||||
|
||||
if (href.lastIndexOf('/', 0) !== 0) // http://stackoverflow.com/a/4579228/226469 seems to be the fastest check
|
||||
{
|
||||
// Need a leading slash in case we need to prepend the base path
|
||||
href = '/' + href;
|
||||
}
|
||||
|
||||
// var cp = AJS.Confluence.getContextPath(); // TODO confluence call in a common module
|
||||
|
||||
// Originally, links included the base path (but not the host), so there might be cases of the base path
|
||||
// already being prepended. If the base path has changed, we can't recover those cases
|
||||
// window.location.href = href.substring(0, cp.length) === cp ? href : cp + href; // prepends the context path if it's not already there
|
||||
window.location.href = href;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Test if it's an absolute URL, but on the same domain (i.e. open in same window)
|
||||
// There's a security setting (unknown which) that seems to stop the IE hack below working in
|
||||
// IE 11, https://desk.draw.io/browse/DS-175, https://desk.draw.io/browse/DFCS-52
|
||||
// Worst case is these users will open an absolute same domain link in a window
|
||||
|
||||
var link = document.createElement('a');
|
||||
link.href = href;
|
||||
link.href = link.href; // hack to populate 'host' under IE
|
||||
|
||||
if (link.host === location.host)
|
||||
{
|
||||
window.location.href = href;
|
||||
}
|
||||
else
|
||||
{
|
||||
window.open(href);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
me.consume();
|
||||
}
|
||||
};
|
||||
|
||||
this.graph.setTooltips(!mxClient.IS_TOUCH);
|
||||
|
||||
if (this.options.width != null)
|
||||
{
|
||||
this.graph.container.style.width = this.options.width + 'px';
|
||||
}
|
||||
|
||||
if (this.options.height != null)
|
||||
{
|
||||
this.graph.container.style.height = this.options.height + 'px';
|
||||
}
|
||||
|
||||
// Accumulates the zoom factor while the rendering is taking place
|
||||
// so that not the complete sequence of zoom steps must be painted
|
||||
var graph = this.graph;
|
||||
graph.updateZoomTimeout = null;
|
||||
graph.cumulativeZoomFactor = 1;
|
||||
|
||||
graph.lazyZoom = function(zoomIn)
|
||||
{
|
||||
if (this.updateZoomTimeout != null)
|
||||
{
|
||||
window.clearTimeout(this.updateZoomTimeout);
|
||||
}
|
||||
|
||||
if (zoomIn)
|
||||
{
|
||||
this.cumulativeZoomFactor *= this.zoomFactor;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.cumulativeZoomFactor /= this.zoomFactor;
|
||||
}
|
||||
|
||||
this.cumulativeZoomFactor = Math.round(this.view.scale * this.cumulativeZoomFactor * 100) / 100 / this.view.scale;
|
||||
|
||||
this.updateZoomTimeout = window.setTimeout(mxUtils.bind(this, function()
|
||||
{
|
||||
this.zoom(this.cumulativeZoomFactor);
|
||||
this.cumulativeZoomFactor = 1;
|
||||
this.updateZoomTimeout = null;
|
||||
}), 20);
|
||||
};
|
||||
|
||||
if (this.lightbox)
|
||||
{
|
||||
mxEvent.addMouseWheelListener(mxUtils.bind(this, function(evt, up)
|
||||
{
|
||||
if (!mxClient.IS_MAC || !mxEvent.isControlDown(evt))
|
||||
{
|
||||
var source = mxEvent.getSource(evt);
|
||||
|
||||
while (source != null)
|
||||
{
|
||||
if (source == graph.container)
|
||||
{
|
||||
graph.lazyZoom(up);
|
||||
mxEvent.consume(evt);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
source = source.parentNode;
|
||||
}
|
||||
}
|
||||
}));
|
||||
}
|
||||
};
|
||||
|
||||
DrawioViewer.prototype.resetGraphView = function()
|
||||
{
|
||||
this.graph.pageBreaksVisible = false;
|
||||
this.graph.preferPageSize = false;
|
||||
this.graph.pageVisible = false;
|
||||
|
||||
if (!this.lightbox)
|
||||
{
|
||||
var update = mxUtils.bind(this, function()
|
||||
{
|
||||
this.graph.centerZoom = this.graph.panningHandler.panningEnabled;
|
||||
|
||||
// If width and height are specified the height is overridden to match the diagram size
|
||||
var autoSizeWidth = this.options.width == null;
|
||||
var autoSizeHeight = this.options.height == null;
|
||||
var bounds = this.graph.getGraphBounds();
|
||||
var ratio = bounds.width / bounds.height;
|
||||
|
||||
var width = autoSizeWidth ? bounds.width + 2 : this.options.width;
|
||||
var height = autoSizeHeight ? (width / ratio) + 1 : this.options.height;
|
||||
|
||||
this.graph.container.style.width = Math.ceil(width) + 'px';
|
||||
this.graph.container.style.height = Math.ceil(height) + 'px';
|
||||
this.graph.container.style.maxWidth = '100%';
|
||||
|
||||
if (autoSizeWidth && autoSizeHeight)
|
||||
{
|
||||
this.translateOrigin();
|
||||
|
||||
// Used for fast restore of initial position in zoom to fit button
|
||||
this.initialX = this.graph.view.translate.x;
|
||||
this.initialY = this.graph.view.translate.y;
|
||||
}
|
||||
else if (this.options.zoomToFit)
|
||||
{
|
||||
this.graph.fit();
|
||||
}
|
||||
|
||||
//set the border after calling updateGraphComponnets() because the call sets it to ''
|
||||
this.graph.container.style.border = this.options.border ? '1px solid #DDDDDD' : 'none';
|
||||
this.graph.container.style.backgroundColor = (this.graph.background == null ||
|
||||
this.graph.background == 'none') ? '#ffffff' : this.graph.background;
|
||||
});
|
||||
|
||||
// Workaround for invisible container is to move the container to the document body for rendering
|
||||
if (!this.connect && (this.graph.container.clientWidth == 0 || this.graph.container.clientHeight == 0))
|
||||
{
|
||||
var previousParent = this.graph.container.parentNode;
|
||||
var nextSibling = this.graph.container.nextSibling;
|
||||
var prevPosition = this.graph.container.style.position;
|
||||
var prevVisible = this.graph.container.style.visible;
|
||||
|
||||
// Moves to document body for rendering (needed for text measuring)
|
||||
this.graph.container.style.position = 'absolute';
|
||||
this.graph.container.style.visible = 'hidden';
|
||||
|
||||
document.body.appendChild(this.graph.container);
|
||||
|
||||
// Refresh required in visible DOM to update text bounding boxes
|
||||
this.graph.refresh();
|
||||
update();
|
||||
|
||||
// Move it back into DOM tree position
|
||||
if (nextSibling != null)
|
||||
{
|
||||
nextSibling.parentNode.insertBefore(this.graph.container, nextSibling);
|
||||
}
|
||||
else
|
||||
{
|
||||
previousParent.appendChild(this.graph.container);
|
||||
}
|
||||
|
||||
// Restore position CSS
|
||||
this.graph.container.style.visible = prevVisible;
|
||||
this.graph.container.style.position = prevPosition;
|
||||
}
|
||||
else
|
||||
{
|
||||
update();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.graph.container.style.backgroundColor = (this.graph.background == null ||
|
||||
this.graph.background == 'none') ? '#ffffff' : this.graph.background;
|
||||
}
|
||||
};
|
||||
|
||||
DrawioViewer.prototype.translateOrigin = function()
|
||||
{
|
||||
var bounds = this.graph.getGraphBounds();
|
||||
this.graph.view.setTranslate(this.originX - Math.floor(bounds.x), this.originY - Math.floor(bounds.y));
|
||||
};
|
||||
|
||||
DrawioViewer.prototype.loadGraph = function(diagramName, ceoId)
|
||||
{
|
||||
var spinner = this.createSpinner(this.graph.container);
|
||||
|
||||
try
|
||||
{
|
||||
mxUtils.get(this.options.loadUrl, mxUtils.bind(this, function(req)
|
||||
{
|
||||
spinner.stop();
|
||||
|
||||
if (req.getStatus() < 200 || req.getStatus() > 299)
|
||||
{
|
||||
this.showWarning(mxResources.get('error') + ' ' + req.getStatus());
|
||||
this.graph.container.style.border = this.options.border ? '1px solid #DDDDDD' : 'none';
|
||||
this.graph.container.style.backgroundColor = '#ffffff';
|
||||
this.graph.container.style.height = '20px';
|
||||
}
|
||||
else
|
||||
{
|
||||
var json = JSON.parse(req.getText());
|
||||
this.graphXmlString = json.xml;
|
||||
var doc = mxUtils.parseXml(json.xml);
|
||||
this.xmlDoc = doc;
|
||||
this.filename = json.filename;
|
||||
this.setGraphXml(doc.documentElement);
|
||||
this.graphDocument = doc;
|
||||
}
|
||||
}),
|
||||
function()
|
||||
{
|
||||
spinner.stop();
|
||||
});
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
spinner.stop();
|
||||
}
|
||||
};
|
||||
|
||||
DrawioViewer.prototype.loadStylesheet = function()
|
||||
{
|
||||
var node = mxUtils.load(this.options.stylePath + '/default.xml').getDocumentElement();
|
||||
var dec = new mxCodec(node.ownerDocument);
|
||||
dec.decode(node, this.graph.getStylesheet());
|
||||
};
|
||||
|
||||
DrawioViewer.prototype.renderButtons = function()
|
||||
{
|
||||
for (var key in this.buttons)
|
||||
{
|
||||
var button = this.buttons[key];
|
||||
|
||||
if (button.visible)
|
||||
{
|
||||
this.addToolbarButton(this.toolbar, button);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
DrawioViewer.prototype.addToolbarButton = function(toolbar, drawioButton)
|
||||
{
|
||||
var enabled = typeof drawioButton.enabled === 'undefined' ? true : enabled;
|
||||
var button = drawioButton.linkButton ? document.createElement('a') : document.createElement('div');
|
||||
button.className = 'diagramly-reader-toolbar-button';
|
||||
|
||||
if (drawioButton.icon != null)
|
||||
{
|
||||
var img = document.createElement('img');
|
||||
img.setAttribute('src', drawioButton.icon);
|
||||
img.style.verticalAlign = 'middle';
|
||||
img.style.marginRight = '2px';
|
||||
button.appendChild(img);
|
||||
button.title = drawioButton.label;
|
||||
}
|
||||
|
||||
if (!drawioButton.enabled)
|
||||
{
|
||||
button.style.opacity = 0.2;
|
||||
|
||||
} else
|
||||
{
|
||||
if(drawioButton.linkButton)
|
||||
{
|
||||
button.href = drawioButton.url;
|
||||
}
|
||||
else
|
||||
{
|
||||
mxEvent.addListener(button, 'click', function(evt)
|
||||
{
|
||||
drawioButton.clickHandler.apply(this, arguments);
|
||||
});
|
||||
}
|
||||
mxEvent.addListener(button, 'mouseover', function(evt)
|
||||
{
|
||||
button.className += ' diagramly-reader-toolbar-button-hover';
|
||||
});
|
||||
mxEvent.addListener(button, 'mouseout', function(evt)
|
||||
{
|
||||
button.className = 'diagramly-reader-toolbar-button';
|
||||
});
|
||||
}
|
||||
|
||||
toolbar.appendChild(button);
|
||||
return button;
|
||||
};
|
||||
|
||||
DrawioViewer.prototype.createSpinner = function(container)
|
||||
{
|
||||
var opts =
|
||||
{
|
||||
lines : 12, // The number of lines to draw
|
||||
length : 12, // The length of each line
|
||||
width : 5, // The line thickness
|
||||
radius : 10, // The radius of the inner circle
|
||||
rotate : 0, // The rotation offset
|
||||
color : '#000', // #rgb or #rrggbb
|
||||
speed : 1, // Rounds per second
|
||||
trail : 60, // Afterglow percentage
|
||||
shadow : false, // Whether to render a shadow
|
||||
hwaccel : false, // Whether to use hardware acceleration
|
||||
className : 'spinner', // The CSS class to assign to the spinner
|
||||
zIndex : 2e9 // The z-index (defaults to 2000000000)
|
||||
};
|
||||
|
||||
return new Spinner(opts).spin(container);
|
||||
};
|
||||
|
||||
DrawioViewer.prototype.show = function(container)
|
||||
{
|
||||
this.graph = new Graph(container);
|
||||
this.graph.id = this.id;
|
||||
this.init();
|
||||
|
||||
// Uses the XML document that was loaded for the viewer in the lightbox
|
||||
if (this.graphDocument != null)
|
||||
{
|
||||
this.setGraphXml(this.graphDocument.documentElement);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.loadGraph(this.diagramName, this.ceoId);
|
||||
}
|
||||
|
||||
if (this.options.viewerToolbar)
|
||||
{
|
||||
this.installToolbar();
|
||||
this.renderButtons();
|
||||
}
|
||||
|
||||
if (this.options.licenseStatus == 'NO_LICENSE')
|
||||
{
|
||||
this.showWarning(mxResources.get('drawio.reader.noLicense'));
|
||||
}
|
||||
else if (this.options.licenseStatus == 'EVAL_LICENSE')
|
||||
{
|
||||
this.showWarning(mxResources.get('drawio.reader.evaluation'));
|
||||
}
|
||||
else if (this.options.licenseStatus == 'EVAL_EXPIRED')
|
||||
{
|
||||
this.showWarning(mxResources.get('drawio.reader.evaluationExpired'));
|
||||
}
|
||||
else if (this.options.licenseStatus == 'VERSION_MISMATCH')
|
||||
{
|
||||
this.showWarning(mxResources.get('drawio.reader.versionMismatch', ['https://support.draw.io/pages/viewpage.action?pageId=11829320']));
|
||||
}
|
||||
else if (this.options.licenseStatus == 'USER_MISMATCH')
|
||||
{
|
||||
this.showWarning(mxResources.get('drawio.reader.userMismatch', ['https://support.draw.io/pages/viewpage.action?pageId=11829323']));
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
DrawioViewer.prototype.showWarning = function(msg)
|
||||
{
|
||||
var div = document.createElement('div');
|
||||
div.style.position = 'absolute';
|
||||
div.style.overflow = 'hidden';
|
||||
div.style.left = '0px';
|
||||
div.style.top = '0px';
|
||||
div.style.right = '0px';
|
||||
div.style.fontSize = '12px';
|
||||
div.style.margin = '2px';
|
||||
mxUtils.setOpacity(div, 50);
|
||||
div.style.color = 'gray';
|
||||
div.style.textAlign = 'center';
|
||||
div.style.whiteSpace = 'nowrap';
|
||||
span = document.createElement('span');
|
||||
span.innerHTML = msg;
|
||||
|
||||
div.appendChild(span);
|
||||
|
||||
this.graph.container.parentNode.appendChild(div);
|
||||
};
|
||||
|
||||
DrawioViewer.prototype.showLightbox = function()
|
||||
{
|
||||
console.log('Lightbox feature not implemented.');
|
||||
};
|
||||
|
||||
DrawioViewer.prototype.createButtons = function()
|
||||
{
|
||||
var viewer = this;
|
||||
var buttons = {};
|
||||
|
||||
var enableButton = typeof this.options.disableButtons === 'undefined' ? true : !this.options.disableButtons;
|
||||
var canEdit = this.options.userCanEdit && enableButton;
|
||||
var canRemove = this.options.userCanRemove && enableButton;
|
||||
|
||||
var autoSizeWidth = this.options.width == null;
|
||||
var autoSizeHeight = this.options.height == null;
|
||||
|
||||
buttons[DrawioViewerActions.EDIT] = new DrawioViewerButton(
|
||||
{
|
||||
label : mxResources.get('diagramly.reader.edit'),
|
||||
icon : viewer.options.imagePath + '/edit.png',
|
||||
url : viewer.options.editUrl,
|
||||
enabled : canEdit,
|
||||
linkButton : true
|
||||
});
|
||||
|
||||
buttons[DrawioViewerActions.REMOVE] = new DrawioViewerButton(
|
||||
{
|
||||
label : mxResources.get('diagramly.reader.remove'),
|
||||
icon : viewer.options.imagePath + '/remove.png',
|
||||
clickHandler : function()
|
||||
{
|
||||
if (confirm(mxResources.get('diagramly.reader.confirmDelete')))
|
||||
{
|
||||
window.location.href = viewer.options.removeUrl;
|
||||
}
|
||||
},
|
||||
enabled : canRemove
|
||||
});
|
||||
|
||||
buttons[DrawioViewerActions.ACTUAL_SIZE] = new DrawioViewerButton(
|
||||
{
|
||||
label : mxResources.get('diagramly.reader.zoomActual'),
|
||||
icon : viewer.options.imagePath + '/zoomActual.png',
|
||||
clickHandler : function()
|
||||
{
|
||||
viewer.graph.zoomActual();
|
||||
viewer.translateOrigin();
|
||||
},
|
||||
enabled : enableButton
|
||||
});
|
||||
|
||||
buttons[DrawioViewerActions.ZOOM_TO_FIT] = new DrawioViewerButton(
|
||||
{
|
||||
label : (this.lightbox) ? mxResources.get('diagramly.reader.zoomActual') : mxResources.get('diagramly.reader.fit'),
|
||||
icon : (this.lightbox) ? viewer.options.imagePath + '/zoomActual.png' : viewer.options.imagePath + '/zoomFit.gif',
|
||||
clickHandler : mxUtils.bind(this, function()
|
||||
{
|
||||
if (this.lightbox)
|
||||
{
|
||||
// NOTE: Maxscale is 1 here so only make smaller but not larger
|
||||
viewer.graph.fit(8);
|
||||
viewer.graph.center(true, true, null, 0.42);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (autoSizeWidth && autoSizeHeight)
|
||||
{
|
||||
this.graph.view.scaleAndTranslate(1, this.initialX, this.initialY);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.graph.fit();
|
||||
}
|
||||
}
|
||||
}),
|
||||
enabled : enableButton
|
||||
});
|
||||
|
||||
buttons[DrawioViewerActions.ZOOM_OUT] = new DrawioViewerButton(
|
||||
{
|
||||
label : mxResources.get('diagramly.reader.zoomOut'),
|
||||
icon : viewer.options.imagePath + '/zoomOut.gif',
|
||||
clickHandler : function()
|
||||
{
|
||||
viewer.graph.zoomOut();
|
||||
},
|
||||
enabled : enableButton
|
||||
});
|
||||
|
||||
buttons[DrawioViewerActions.ZOOM_IN] = new DrawioViewerButton(
|
||||
{
|
||||
label : mxResources.get('diagramly.reader.zoomIn'),
|
||||
icon : viewer.options.imagePath + '/zoomIn.gif',
|
||||
clickHandler : function()
|
||||
{
|
||||
viewer.graph.zoomIn();
|
||||
},
|
||||
enabled : enableButton
|
||||
});
|
||||
|
||||
buttons[DrawioViewerActions.EXPAND] = new DrawioViewerButton(
|
||||
{
|
||||
label : mxResources.get('diagramly.reader.fullScreen'),
|
||||
icon : viewer.options.imagePath + '/largeView.png',
|
||||
clickHandler : mxUtils.bind(this, function()
|
||||
{
|
||||
this.showLightbox();
|
||||
}),
|
||||
enabled : enableButton
|
||||
});
|
||||
|
||||
buttons[DrawioViewerActions.CLOSE] = new DrawioViewerButton(
|
||||
{
|
||||
label : mxResources.get('diagramly.reader.closeFullScreen'),
|
||||
icon : viewer.options.imagePath + '/closeLargeView.gif',
|
||||
clickHandler : function()
|
||||
{
|
||||
viewer.popupWindow.remove();
|
||||
},
|
||||
enabled : enableButton,
|
||||
visible : false
|
||||
});
|
||||
|
||||
return buttons;
|
||||
};
|
||||
|
||||
DrawioViewerActions =
|
||||
{
|
||||
EDIT : 'edit',
|
||||
REMOVE : 'remove',
|
||||
ACTUAL_SIZE : 'actualSize',
|
||||
ZOOM_TO_FIT : 'zoomToFit',
|
||||
ZOOM_OUT : 'zoomOut',
|
||||
ZOOM_IN : 'zoomIn',
|
||||
EXPAND : 'expand',
|
||||
CLOSE : 'close'
|
||||
};
|
||||
|
||||
function DrawioViewerButton(options)
|
||||
{
|
||||
this.label = options.label;
|
||||
this.clickHandler = options.clickHandler;
|
||||
this.enabled = typeof options.enabled != 'undefined' ? options.enabled : true;
|
||||
this.icon = options.icon;
|
||||
this.visible = typeof options.visible != 'undefined' ? options.visible : true;
|
||||
this.linkButton = typeof options.linkButton != 'undefined' ? options.linkButton : false;
|
||||
this.url = options.url;
|
||||
};
|
||||
|
||||
DrawioViewerButton.prototype.label = null;
|
||||
DrawioViewerButton.prototype.clickHandler = null;
|
||||
DrawioViewerButton.prototype.enabled = true;
|
||||
DrawioViewerButton.prototype.icon = null;
|
||||
DrawioViewerButton.prototype.visible = true;
|
||||
DrawioViewerButton.prototype.linkButton = false;
|
||||
DrawioViewerButton.prototype.url = null;
|
|
@ -1,90 +0,0 @@
|
|||
diagramly.new.diagram=Draw.io diagram
|
||||
diagramly.edit.diagram=Edit
|
||||
diagramly.reader.edit=Edit
|
||||
diagramly.reader.remove=Remove
|
||||
diagramly.reader.fit=Zoom to fit
|
||||
diagramly.reader.zoomActual=Actual size
|
||||
diagramly.reader.zoomOut=Zoom out
|
||||
diagramly.reader.zoomIn=Zoom in
|
||||
diagramly.reader.confirmDelete=Are you sure you want to delete this diagram?
|
||||
diagramly.reader.fullScreen=Full screen
|
||||
diagramly.reader.closeFullScreen=Close
|
||||
drawio.reader.evaluation=draw.io evaluation copy
|
||||
|
||||
#macro properties editor
|
||||
drawio.macrooptions.size.label=Size
|
||||
drawio.macrooptions.options.label=Options
|
||||
drawio.macrooptions.width.label=Width
|
||||
drawio.macrooptions.height.label=Height
|
||||
drawio.macrooptions.border.label=Border
|
||||
drawio.macrooptions.border.desc=Display a border around the graph
|
||||
drawio.macrooptions.grid.label=Grid
|
||||
drawio.macrooptions.grid.desc=Display grid on the graph reader
|
||||
drawio.macrooptions.fitWindow.label=Fit to Window
|
||||
drawio.macrooptions.fitWindow.desc=Zoom the diagram to fit the reader
|
||||
drawio.macrooptions.autoSize.label=Auto Size
|
||||
drawio.macrooptions.viewerToolbar.label=Toolbar
|
||||
drawio.macrooptions.autoSize.desc=Update width and height of the reader to fit the diagram
|
||||
drawio.macrooptions.save.button=Save
|
||||
com.mxgraph.confluence.plugins.diagramly.diagramly.desc=Draw.io is a free online diagram drawing application for workflow, BPM, org charts, UML, ER, network diagrams.
|
||||
|
||||
diagramly.propertypanel.macrooptions=Draw.io Macro Settings
|
||||
diagramly.propertypanel.editMacro=Edit Macro
|
||||
diagramly.propertypanel.dupediagram=Duplicate
|
||||
drawio.propertypanel.size.original=Original
|
||||
|
||||
#search labels
|
||||
diagramly.search.header=Search for diagrams
|
||||
diagramly.search.button=Search
|
||||
diagramly.search.allspaces=All spaces
|
||||
diagramly.search.description=Enter the name of a diagram
|
||||
diagramly.search.diagramName=Diagram
|
||||
diagramly.search.spaceName=Space name
|
||||
diagramly.search.lastModified=Last modified
|
||||
diagramly.search.noResults=No diagrams have been found
|
||||
diagramly.search.error=Error during search. Specified reason
|
||||
diagramly.search.select.button=Select
|
||||
diagramly.search.copy.button=Copy
|
||||
diagramly.search.import.button=Import
|
||||
diagramly.search.cancel.button=Cancel
|
||||
|
||||
#blueprint popup create dialog
|
||||
diagramly.create.header=How do you want to create the diagram?
|
||||
diagramly.create.blank=Blank
|
||||
diagramly.create.search=Search
|
||||
diagramly.create.select.button=Select
|
||||
diagramly.create.search.button=Search
|
||||
diagramly.create.back.button=Back
|
||||
diagramly.create.cancel.button=Cancel
|
||||
|
||||
diagramly.import.description=Select a Visio file (.vdx)
|
||||
diagramly.import.error=There was an error during import
|
||||
diagramly.duplicate.newName=Please enter the name
|
||||
diagramly.duplicate.nameConflict=Could not duplicate diagram. Please choose a different name.
|
||||
diagramly.duplicate.error=Could not duplicate diagram. Please try again later.
|
||||
diagramly.import.uploading=Uploading file...
|
||||
drawio-rest.name=Drawio Rest
|
||||
drawio-rest.description=The Drawio Rest Plugin
|
||||
drawio.pagetemplate.cantadddiagram=Diagrams cannot be added to page templates. You can only add them to pages.
|
||||
drawio.linktodiagram.button=Link to Diagram
|
||||
|
||||
#new diagram dialog
|
||||
drawio.templates.label=Draw.io Templates
|
||||
drawio.search.recent=Recent diagrams
|
||||
drawio.template.businessprocess=Business Process
|
||||
drawio.template.charts=Charts
|
||||
drawio.template.engineering=Engineering
|
||||
drawio.template.flowcharts=Flowcharts
|
||||
drawio.template.mindmaps=Mindmaps
|
||||
drawio.template.mockups=Mockups
|
||||
drawio.template.networkdiagrams=Network Diagrams
|
||||
drawio.template.other=Other
|
||||
drawio.template.softwaredesign=Software Design
|
||||
drawio.template.venndiagrams=Venn diagrams
|
||||
drawio.template.wireframes=Wireframes
|
||||
|
||||
drawio.admin.info=Plugin Information
|
||||
drawio.admin.config=Plugin Configuration
|
||||
drawio.admin.config.externalImageService=Use external image service
|
||||
drawio.admin.config.saveChanges=Save changes
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
diagramly.new.diagram=Draw.io Diagramm
|
||||
diagramly.edit.diagram=Bearbeiten
|
||||
diagramly.reader.edit=Bearbeiten
|
||||
diagramly.reader.remove=Entfernen
|
||||
diagramly.reader.fit=Zoom anpassen
|
||||
diagramly.reader.zoomActual=Tatsächliche Grösse
|
||||
diagramly.reader.zoomOut=Herauszoomen
|
||||
diagramly.reader.zoomIn=Hineinzoomen
|
||||
diagramly.reader.confirmDelete=Möchten Sie das Diagramm wirklich löschen?
|
||||
diagramly.reader.fullScreen=Vollbild
|
||||
diagramly.reader.closeFullScreen=Schließen
|
||||
drawio.reader.evaluation=draw.io Testlizenz
|
||||
|
||||
#macro properties editor
|
||||
drawio.macrooptions.size.label=Grösse
|
||||
drawio.macrooptions.options.label=Optionen
|
||||
drawio.macrooptions.width.label=Breite
|
||||
drawio.macrooptions.height.label=Höhe
|
||||
drawio.macrooptions.border.label=Rahmen
|
||||
drawio.macrooptions.border.desc=Rahmen um das Diagramm anzeigen
|
||||
drawio.macrooptions.grid.label=Gitternetz
|
||||
drawio.macrooptions.grid.desc=Gitternetz anzeigen
|
||||
drawio.macrooptions.fitWindow.label=An Fenstergrösse anpassen
|
||||
drawio.macrooptions.fitWindow.desc=Diagramm auf Fenstergrösse zoomen
|
||||
drawio.macrooptions.autoSize.label=Automatische Grösse
|
||||
drawio.macrooptions.viewerToolbar.label=Toolbar
|
||||
drawio.macrooptions.autoSize.desc=Breite und Höhe an Diagramm anpassen
|
||||
drawio.macrooptions.save.button=Speichern
|
||||
com.mxgraph.confluence.plugins.diagramly.diagramly.desc=Draw.io is a free online diagram drawing application for workflow, BPM, org charts, UML, ER, network diagrams.
|
||||
|
||||
diagramly.propertypanel.macrooptions=Draw.io Makro Einstellungen
|
||||
diagramly.propertypanel.editMacro=Makro bearbeiten
|
||||
diagramly.propertypanel.dupediagram=Duplizieren
|
||||
drawio.propertypanel.size.original=Original
|
||||
|
||||
#search labels
|
||||
diagramly.search.header=Nach Diagrammen suchen
|
||||
diagramly.search.button=Suchen
|
||||
diagramly.search.allspaces=Alle Bereiche
|
||||
diagramly.search.description=Geben Sie den Namen eines Diagramms ein
|
||||
diagramly.search.diagramName=Diagramm
|
||||
diagramly.search.spaceName=Bereichsname
|
||||
diagramly.search.lastModified=Zuletzt geändert
|
||||
diagramly.search.noResults=Es wurden keine Diagramme gefunden
|
||||
diagramly.search.error=Fehler bei der Suche. Ursache
|
||||
diagramly.search.select.button=Erstellen
|
||||
diagramly.search.copy.button=Kopieren
|
||||
diagramly.search.import.button=Importieren
|
||||
diagramly.search.cancel.button=Abbrechen
|
||||
|
||||
#blueprint popup create dialog
|
||||
diagramly.create.header=Wie möchten Sie das Diagramm erstellen?
|
||||
diagramly.create.blank=Leer
|
||||
diagramly.create.search=Suchen
|
||||
diagramly.create.select.button=Erstellen
|
||||
diagramly.create.search.button=Suchen
|
||||
diagramly.create.back.button=Zurück
|
||||
diagramly.create.cancel.button=Abbrechen
|
||||
|
||||
diagramly.import.description=Wählen Sie eine Visio-Datei (.vdx)
|
||||
diagramly.import.error=Es gab einen Fehler beim Import
|
||||
diagramly.duplicate.newName=Bitte geben Sie den Namen ein
|
||||
diagramly.duplicate.nameConflict=Diagramm konnte nicht dupliziert werden. Bitte geben Sie einen anderen Namen ein.
|
||||
diagramly.duplicate.error=Diagramm konnte nicht dupliziert werden. Bitte versuchen Sie es später.
|
||||
diagramly.import.uploading=Datei wird geladen...
|
||||
drawio-rest.name=Drawio Rest
|
||||
drawio-rest.description=Drawio Rest Plugin
|
||||
drawio.pagetemplate.cantadddiagram=Diagramme können nicht in Vorlagen sondern nur in Seiten eingefügt werden.
|
||||
drawio.linktodiagram.button=Link zum Diagramm
|
||||
|
||||
#new diagram dialog
|
||||
drawio.templates.label=Draw.io Vorlagen
|
||||
drawio.search.recent=Zuletzt geöffnet
|
||||
drawio.template.businessprocess=Geschäftsprozesse
|
||||
drawio.template.charts=Grafiken
|
||||
drawio.template.engineering=Technik
|
||||
drawio.template.flowcharts=Ablaufdiagramme
|
||||
drawio.template.mindmaps=Mindmaps
|
||||
drawio.template.mockups=Mockups
|
||||
drawio.template.networkdiagrams=Netzwerkdiagramme
|
||||
drawio.template.other=Andere
|
||||
drawio.template.softwaredesign=Software Design
|
||||
drawio.template.venndiagrams=Venn Diagramme
|
||||
drawio.template.wireframes=Drahtgittermodelle
|
||||
|
||||
drawio.admin.info=Plugin Information
|
||||
drawio.admin.config=Plugin Konfiguration
|
||||
drawio.admin.config.externalImageService=Externen Bild-Service verwenden
|
||||
drawio.admin.config.saveChanges=Änderungen speichern
|
|
@ -1,536 +0,0 @@
|
|||
/* AUI BUTTONS
|
||||
* Note hover/disabled styles set directly as they are not precisely the same as
|
||||
* if we used straight opacity.
|
||||
*/
|
||||
|
||||
/* Basic Button Style */
|
||||
.aui-button,
|
||||
a.aui-button,
|
||||
.aui-button:visited {
|
||||
background: #f2f2f2;
|
||||
background: -webkit-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: -moz-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: -ms-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: -o-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: linear-gradient(to bottom, #fff 0%, #f2f2f2 100%);
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 3.01px;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
color: #333;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-family: inherit;
|
||||
font-size: 14px;
|
||||
font-variant: normal;
|
||||
font-weight: normal;
|
||||
height: 2.1428571428571em; /* 30px - using ems so the fields increase in line with user specified font-sizes */
|
||||
line-height: 1.4285714285714;
|
||||
margin: 0;
|
||||
padding: 4px 10px;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 1px 0 white;
|
||||
vertical-align: baseline;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.aui-button ~ .aui-button {
|
||||
margin-left: 10px;
|
||||
}
|
||||
/* Ensure underlines not added by link styles */
|
||||
a.aui-button:hover,
|
||||
a.aui-button:active,
|
||||
a.aui-button:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Control button height in Firefox. See http://www.experimentgarden.com/2010/11/firefox-buttontext-height-and-padding.html */
|
||||
.aui-button::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.aui-button:focus,
|
||||
.aui-button:hover,
|
||||
.aui-button-subtle.aui-button:focus,
|
||||
.aui-button-subtle.aui-button:hover {
|
||||
background: #f7f7f7;
|
||||
background: -webkit-linear-gradient(top, #fff 0%, #f7f7f7 100%);
|
||||
background: -moz-linear-gradient(top, #fff 0%, #f7f7f7 100%);
|
||||
background: -ms-linear-gradient(top, #fff 0%, #f7f7f7 100%);
|
||||
background: -o-linear-gradient(top, #fff 0%, #f7f7f7 100%);
|
||||
background: linear-gradient(to bottom, #fff 0%, #f7f7f7 100%);
|
||||
border-color: #999;
|
||||
color: #000;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
.aui-button:active,
|
||||
.aui-button.active,
|
||||
.aui-header .aui-button-split-more.active,
|
||||
.aui-button-subtle.aui-button:active,
|
||||
.aui-button-subtle.aui-button.active {
|
||||
background-image: none;
|
||||
background-color: #f2f2f2;
|
||||
box-shadow: inset 0 3px 6px rgba(0,0,0,.1);
|
||||
text-shadow: none;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
/* Primary Buttons */
|
||||
.aui-button.aui-button-primary,
|
||||
.aui-button.aui-button-primary:visited {
|
||||
background: #3068a2;
|
||||
background: -webkit-linear-gradient(top, #4687ce 0%, #3068a2 100%);
|
||||
background: -moz-linear-gradient(top, #4687ce 0%, #3068a2 100%);
|
||||
background: -ms-linear-gradient(top, #4687ce 0%, #3068a2 100%);
|
||||
background: -o-linear-gradient(top, #4687ce 0%, #3068a2 100%);
|
||||
background: linear-gradient(to bottom, #4687ce 0%, #3068a2 100%);
|
||||
border-color: #486582;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
-webkit-font-smoothing: antialiased; /* for chrome on mac */
|
||||
text-shadow: 0 1px 0 #205081;
|
||||
}
|
||||
|
||||
.aui-button.aui-button-primary:hover,
|
||||
.aui-button.aui-button-primary:focus {
|
||||
background: #3673B5;
|
||||
background: -webkit-linear-gradient(top, #5A94D3 0%, #3673B5 100%);
|
||||
background: -moz-linear-gradient(top, #5A94D3 0%, #3673B5 100%);
|
||||
background: -ms-linear-gradient(top, #5A94D3 0%, #3673B5 100%);
|
||||
background: -o-linear-gradient(top, #5A94D3 0%, #3673B5 100%);
|
||||
background: linear-gradient(to bottom, #5A94D3 0%,#3673B5 100%);
|
||||
border-color: #205081;
|
||||
color: #fff;
|
||||
text-shadow: 0 1px 0 #205081;
|
||||
}
|
||||
|
||||
.aui-button.aui-button-primary:active {
|
||||
background: #3673B5;
|
||||
background-image: none;
|
||||
background-color: #3673B5;
|
||||
box-shadow: inset 0 3px 6px rgba(0,0,0,.1);
|
||||
text-shadow: none;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
/* Link style buttons - used for destructive/cancel actions ONLY */
|
||||
.aui-button.aui-button-link,
|
||||
.aui-button.aui-button-link:visited {
|
||||
background: transparent;
|
||||
border-color: transparent;
|
||||
color: #3b73af;
|
||||
padding: 5px 0;
|
||||
text-decoration: none;
|
||||
text-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.aui-button.aui-button-link:focus,
|
||||
.aui-button.aui-button-link:hover,
|
||||
.aui-button.aui-button-link:active,
|
||||
.aui-buttons .aui-button.aui-button-link:focus,
|
||||
.aui-buttons .aui-button.aui-button-link:hover,
|
||||
.aui-buttons .aui-button.aui-button-link:active,
|
||||
.aui-buttons .aui-button.aui-button-link[aria-pressed="true"] {
|
||||
background: transparent;
|
||||
border-color: transparent;
|
||||
box-shadow: none;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* Subtle/hybrid/entity action/mugger buttons */
|
||||
.aui-button.aui-button-subtle {
|
||||
background: transparent;
|
||||
border-color: transparent;
|
||||
color: #707070;
|
||||
}
|
||||
.aui-buttons .aui-button.aui-button-subtle {
|
||||
border-radius: 3.01px;
|
||||
}
|
||||
.aui-button.aui-button-subtle .aui-icon {
|
||||
margin-right: 1px;
|
||||
}
|
||||
|
||||
/* aui-buttons groups buttons together into one button lozenge. */
|
||||
.aui-buttons {
|
||||
display: inline-block;
|
||||
font-size: 0;
|
||||
}
|
||||
.aui-buttons:after {
|
||||
clear: both;
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
.aui-buttons .aui-button {
|
||||
border-radius: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.aui-buttons .aui-button:first-child {
|
||||
border-top-left-radius: 3.01px;
|
||||
border-bottom-left-radius: 3.01px;
|
||||
}
|
||||
.aui-buttons .aui-button:last-child {
|
||||
border-top-right-radius: 3.01px;
|
||||
border-bottom-right-radius: 3.01px;
|
||||
}
|
||||
.aui-buttons + .aui-buttons {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
/* Grouped buttons go into toolbar style */
|
||||
.aui-buttons .aui-button:focus,
|
||||
.aui-buttons .aui-button:hover,
|
||||
.aui-buttons .aui-button:active {
|
||||
border-color: #999;
|
||||
}
|
||||
.aui-buttons .aui-button[disabled],
|
||||
.aui-buttons .aui-button[disabled]:hover,
|
||||
.aui-buttons .aui-button[disabled]:focus,
|
||||
.aui-buttons .aui-button[disabled]:active,
|
||||
.aui-buttons .aui-button[aria-disabled="true"],
|
||||
.aui-buttons .aui-button[aria-disabled="true"]:hover,
|
||||
.aui-buttons .aui-button[aria-disabled="true"]:focus,
|
||||
.aui-buttons .aui-button[aria-disabled="true"]:active {
|
||||
border-color: #ccc;
|
||||
}
|
||||
|
||||
|
||||
/* Grouped Primary Buttons */
|
||||
|
||||
/* Primary Buttons */
|
||||
.aui-buttons .aui-button.aui-button-primary {
|
||||
background: #f2f2f2;
|
||||
background: -webkit-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: -moz-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: -ms-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: -o-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: linear-gradient(to bottom, #fff 0%, #f2f2f2 100%);
|
||||
border-color: #ccc;
|
||||
color: #3b73af;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.aui-buttons .aui-button ~ .aui-button {
|
||||
border-left-width: 0;
|
||||
padding-left: 11px;
|
||||
}
|
||||
|
||||
.aui-buttons .aui-button.aui-button-primary:hover,
|
||||
.aui-buttons .aui-button.aui-button-primary:focus,
|
||||
.aui-buttons .aui-button.aui-button-primary:active {
|
||||
border-color: #999;
|
||||
color: #205081;
|
||||
}
|
||||
|
||||
.aui-buttons .aui-button ~ .aui-button:hover,
|
||||
.aui-buttons .aui-button ~ .aui-button:focus,
|
||||
.aui-buttons .aui-button ~ .aui-button:active {
|
||||
border-width: 1px;
|
||||
margin-left: -1px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Selected buttons - NOT supported for free-standing primary buttons
|
||||
ARIA usage from http://www.paciellogroup.com/blog/misc/ARIA/togglebutton.html */
|
||||
.aui-button[aria-pressed="true"],
|
||||
.aui-buttons .aui-button[aria-pressed="true"],
|
||||
.aui-buttons .aui-button[aria-pressed="true"].aui-button-primary,
|
||||
.aui-buttons .aui-button[aria-pressed="true"].aui-button-subtle {
|
||||
background: #ccc;
|
||||
background: -webkit-linear-gradient(top, #ccc 0%, #ddd 13%);
|
||||
background: -moz-linear-gradient(top, #ccc 0%, #ddd 13%);
|
||||
background: -ms-linear-gradient(top, #ccc 0%, #ddd 13%);
|
||||
background: -o-linear-gradient(top, #ccc 0%, #ddd 13%);
|
||||
background: linear-gradient(to bottom, #ccc 0%, #ddd 13%);
|
||||
}
|
||||
|
||||
.aui-button[aria-pressed="true"].aui-button-subtle,
|
||||
.aui-buttons .aui-button[aria-pressed="true"].aui-button-subtle {
|
||||
color: #333;
|
||||
border-color: #ccc;
|
||||
}
|
||||
|
||||
.aui-buttons .aui-button[aria-pressed="true"]:active {
|
||||
background: #ccc;
|
||||
box-shadow: inset 0px 3px 6px rgba(0,0,0,.2);
|
||||
}
|
||||
|
||||
|
||||
/* Disabled states (keep last to avoid excessive selector weight)
|
||||
---------------------------------------------------------------------- */
|
||||
.aui-button[disabled],
|
||||
.aui-button[disabled]:hover,
|
||||
.aui-button[disabled]:focus,
|
||||
.aui-button[disabled]:active,
|
||||
.aui-button[aria-disabled="true"],
|
||||
.aui-button[aria-disabled="true"]:hover,
|
||||
.aui-button[aria-disabled="true"]:focus,
|
||||
.aui-button[aria-disabled="true"]:active,
|
||||
.aui-button[aria-disabled="true"][aria-pressed] {
|
||||
background: #f2f2f2;
|
||||
background: -webkit-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: -moz-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: -ms-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: -o-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: linear-gradient(to bottom, #fff 0%, #f2f2f2 100%);
|
||||
border-color: #ccc;
|
||||
box-shadow: none;
|
||||
color: #999;
|
||||
cursor: default;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
/* Subtle buttons have their own disabled stated*/
|
||||
.aui-button.aui-button-subtle[disabled],
|
||||
.aui-button.aui-button-subtle[aria-disabled="true"] {
|
||||
border: 0;
|
||||
background: none;
|
||||
}
|
||||
|
||||
.aui-button.aui-button-primary[disabled],
|
||||
.aui-button.aui-button-primary[disabled]:hover,
|
||||
.aui-button.aui-button-primary[disabled]:focus,
|
||||
.aui-button.aui-button-primary[disabled]:active,
|
||||
.aui-button.aui-button-primary[aria-disabled="true"],
|
||||
.aui-button.aui-button-primary[aria-disabled="true"]:hover,
|
||||
.aui-button.aui-button-primary[aria-disabled="true"]:focus,
|
||||
.aui-button.aui-button-primary[aria-disabled="true"]:active {
|
||||
background: #97b3d0;
|
||||
background: -webkit-linear-gradient(top, #a2c3e6 0%, #97b3d0 100%);
|
||||
background: -moz-linear-gradient(top, #a2c3e6 0%, #97b3d0 100%);
|
||||
background: -ms-linear-gradient(top, #a2c3e6 0%, #97b3d0 100%);
|
||||
background: -o-linear-gradient(top, #a2c3e6 0%, #97b3d0 100%);
|
||||
background: linear-gradient(to bottom, #a2c3e6 0%, #97b3d0 100%);
|
||||
border-color: #7f9cb9;
|
||||
box-shadow:none;
|
||||
color: #fff;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.aui-button.aui-button-link[disabled],
|
||||
.aui-button.aui-button-link[disabled]:hover,
|
||||
.aui-button.aui-button-link[disabled]:focus,
|
||||
.aui-button.aui-button-link[disabled]:active,
|
||||
.aui-button.aui-button-link[aria-disabled="true"],
|
||||
.aui-button.aui-button-link[aria-disabled="true"]:hover,
|
||||
.aui-button.aui-button-link[aria-disabled="true"]:focus,
|
||||
.aui-button.aui-button-link[aria-disabled="true"]:active {
|
||||
background: transparent;
|
||||
border-color: transparent;
|
||||
color: #999;
|
||||
text-shadow: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.aui-buttons .aui-button.aui-button-primary[disabled],
|
||||
.aui-buttons .aui-button.aui-button-primary[disabled]:hover,
|
||||
.aui-buttons .aui-button.aui-button-primary[disabled]:focus,
|
||||
.aui-buttons .aui-button.aui-button-primary[disabled]:active,
|
||||
.aui-buttons .aui-button.aui-button-primary[aria-disabled="true"],
|
||||
.aui-buttons .aui-button.aui-button-primary[aria-disabled="true"]:hover,
|
||||
.aui-buttons .aui-button.aui-button-primary[aria-disabled="true"]:focus,
|
||||
.aui-buttons .aui-button.aui-button-primary[aria-disabled="true"]:active {
|
||||
background: #f2f2f2;
|
||||
background: -webkit-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: -moz-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: -ms-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: -o-linear-gradient(top, #fff 0%, #f2f2f2 100%);
|
||||
background: linear-gradient(to bottom, #fff 0%, #f2f2f2 100%);
|
||||
border-color: #ccc;
|
||||
color: #9dbbd9;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
|
||||
/* Cross-component integration
|
||||
---------------------------------------------------------------------- */
|
||||
|
||||
/* Dropdown2 integration
|
||||
---------- */
|
||||
.aui-button.aui-dropdown2-trigger:first-child.active,
|
||||
.aui-button.aui-dropdown2-trigger.active {
|
||||
/* square off bottom corners */
|
||||
border-bottom-right-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-width: 0; /* avoid double border when the dropdown is active - increase padding to cater for this reduction */
|
||||
padding-bottom: 5px; /* increase the padding to cater for the lack of border so the button doesn't change size */
|
||||
}
|
||||
.aui-button-link.aui-dropdown2-trigger:first-child.active,
|
||||
.aui-button-link.aui-dropdown2-trigger.active {
|
||||
border-bottom-width: 1px;
|
||||
box-shadow: none;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.aui-buttons .aui-button.aui-button-subtle.aui-dropdown2-trigger.active,
|
||||
.aui-button.aui-button-subtle.aui-dropdown2-trigger.active {
|
||||
border-color: #ccc;
|
||||
}
|
||||
.aui-button.aui-button-subtle.aui-dropdown2-trigger:hover {
|
||||
border-color: #999;
|
||||
}
|
||||
|
||||
.aui-button.aui-dropdown2-trigger {
|
||||
padding-right: 23px !important; /* 8px (arrow width) + 10px (right padding) + 5px (margin between arrow and logo) */
|
||||
position: relative;
|
||||
}
|
||||
.aui-button.aui-dropdown2-trigger:after {
|
||||
border: 4px solid transparent;
|
||||
content: "";
|
||||
height: 0;
|
||||
left: 100%; /* "left" + "margin-left" required because of webkit not working properly with "right" */
|
||||
margin-left: -18px;
|
||||
margin-top: -2px;
|
||||
opacity: 0.8;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 0;
|
||||
}
|
||||
.aui-button.aui-dropdown2-trigger:after,
|
||||
.aui-buttons .aui-button.aui-button-primary.aui-dropdown2-trigger:after {
|
||||
border-top-color: #333;
|
||||
}
|
||||
.aui-button.aui-button-primary.aui-dropdown2-trigger:after {
|
||||
border-top-color: #fff;
|
||||
}
|
||||
.aui-button.aui-dropdown2-trigger:hover:after,
|
||||
.aui-button.aui-dropdown2-trigger.active:after {
|
||||
opacity: 1;
|
||||
}
|
||||
.aui-button.aui-button.aui-dropdown2-trigger:after {
|
||||
margin-top: 0;
|
||||
top: 13px;
|
||||
}
|
||||
|
||||
/* suppress old icon pattern for dropdown widget so we don't get double arrows */
|
||||
.aui-button.aui-dropdown2-trigger > .icon-dropdown,
|
||||
.aui-button.aui-dropdown2-trigger > .aui-icon-dropdown {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
/* INPUT does not play with :after - dropdown2 does not support arrow styles for INPUT buttons */
|
||||
input.aui-button.aui-dropdown2-trigger {
|
||||
padding-right: 10px !important; /* someone used important now we're all doomed */
|
||||
}
|
||||
input.aui-button.aui-dropdown2-trigger:after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Dropdown2-only / Split Button
|
||||
---------- */
|
||||
.aui-button.aui-dropdown2-trigger.aui-button-split-more,
|
||||
.aui-button.aui-dropdown2-trigger.aui-button-split-more.active {
|
||||
/* don't touch vertical padding or things jump around, jump around, jump up jump up and get down */
|
||||
padding-left: 5px;
|
||||
padding-right: 10px;
|
||||
text-align: left;
|
||||
text-indent: -9999em;
|
||||
}
|
||||
|
||||
/* remove the element border... */
|
||||
.aui-button-split-main {
|
||||
border-right: 0;
|
||||
}
|
||||
|
||||
.aui-button.aui-dropdown2-trigger.aui-button-split-more:hover {
|
||||
border-left: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* ...then replace it with a border on a pseudo element so we can control the height. */
|
||||
.aui-button.aui-dropdown2-trigger.aui-button-split-more:before {
|
||||
border-left: 1px solid #ccc;
|
||||
bottom: 4px;
|
||||
content: "";
|
||||
display: block;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
}
|
||||
|
||||
/* ...then extend it to full height border on hover */
|
||||
.aui-button.aui-button-split-main:hover + .aui-button.aui-dropdown2-trigger.aui-button-split-more:before,
|
||||
.aui-button.aui-dropdown2-trigger.aui-button-split-more.active:hover:before,
|
||||
.aui-button.aui-dropdown2-trigger.aui-button-split-more.active:before,
|
||||
.aui-button.aui-dropdown2-trigger.aui-button-split-more:hover:before {
|
||||
border-left-color: #999; /* dark border for hover. */
|
||||
bottom: -1px; /* -1 to pull it out over the border */
|
||||
top: -1px; /* -1 to pull it out over the border */
|
||||
}
|
||||
/* ...and change the colour on dropdown .active */
|
||||
.aui-button.aui-dropdown2-trigger.aui-button-split-more.active:before {
|
||||
border-left-color: #ccc; /* lighter border for dropdown-active */
|
||||
}
|
||||
|
||||
|
||||
/* App Header Buttons and Split Button
|
||||
---------- */
|
||||
.aui-header .aui-nav .aui-button,
|
||||
.aui-header .aui-nav .aui-button-primary {
|
||||
margin: 5px 0 0 10px;
|
||||
}
|
||||
|
||||
.aui-header .aui-nav .aui-button-split-main {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* long selector set required to avoid a jump in non-hover focus */
|
||||
.aui-header .aui-nav .aui-buttons .aui-button ~ .aui-button:hover,
|
||||
.aui-header .aui-nav .aui-buttons .aui-button ~ .aui-button:focus,
|
||||
.aui-header .aui-nav .aui-buttons .aui-button ~ .aui-button:active,
|
||||
.aui-header .aui-nav .aui-button-split-more {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.aui-header .aui-nav .aui-button-primary,
|
||||
.aui-header .aui-nav .aui-button-primary:link,
|
||||
.aui-header .aui-nav .aui-button-primary:visited {
|
||||
background: #336ea9;
|
||||
background-image: -moz-linear-gradient(top, #3b7fc4, #336ea9);
|
||||
background-image: -ms-linear-gradient(top, #3b7fc4, #336ea9);
|
||||
background-image: -webkit-linear-gradient(top, #3b7fc4, #336ea9);
|
||||
background-image: -o-linear-gradient(top, #3b7fc4, #336ea9);
|
||||
background-image: linear-gradient(top, #3b7fc4, #336ea9);
|
||||
border: 0;
|
||||
box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0 0 inset, rgba(0, 0, 0, 0.2) 0 1px 1px 0;
|
||||
color: #fff;
|
||||
text-shadow: 0 1px 0 #295989;
|
||||
}
|
||||
|
||||
.aui-header .aui-nav .aui-button.aui-button-primary:focus,
|
||||
.aui-header .aui-nav .aui-button.aui-button-primary:hover {
|
||||
background: #2D5F9C;
|
||||
background-image: -moz-linear-gradient(top, #4796e6, #3773af);
|
||||
background-image: -ms-linear-gradient(top, #4796e6, #3773af);
|
||||
background-image: -webkit-linear-gradient(top, #4796e6, #3773af);
|
||||
background-image: -o-linear-gradient(top, #4796e6, #3773af);
|
||||
background-image: linear-gradient(top, #4796e6, #3773af);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.aui-header .aui-nav .aui-button.aui-button-primary:active,
|
||||
.aui-header .aui-nav .aui-button.aui-button-primary.active {
|
||||
background-color: #3572b0;
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
.aui-header .aui-nav .aui-buttons .aui-button-primary.aui-dropdown2-trigger:after {
|
||||
border-top-color: #fff;
|
||||
}
|
||||
|
||||
.aui-header .aui-button-primary.aui-dropdown2-trigger.aui-button-split-more.active {
|
||||
top: -1px;
|
||||
}
|
||||
|
||||
.aui-header .aui-button-primary.aui-button-split-main:hover + .aui-button.aui-dropdown2-trigger.aui-button-split-more:before,
|
||||
.aui-header .aui-button-primary.aui-dropdown2-trigger.aui-button-split-more.active:hover:before,
|
||||
.aui-header .aui-button-primary.aui-dropdown2-trigger.aui-button-split-more.active:before,
|
||||
.aui-header .aui-button-primary.aui-dropdown2-trigger.aui-button-split-more:hover:before,
|
||||
.aui-header .aui-button-primary.aui-dropdown2-trigger.aui-button-split-more:before {
|
||||
border-color: #1f4e7e;
|
||||
bottom: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
|
@ -1,150 +0,0 @@
|
|||
div.mxRubberband {
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: #0000FF;
|
||||
background: #0077FF;
|
||||
}
|
||||
textarea.mxCellEditor {
|
||||
background: url('../images/transparent.gif');
|
||||
border-style: solid;
|
||||
border-color: black;
|
||||
border-width: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
div.mxWindow {
|
||||
-webkit-box-shadow: 3px 3px 12px #C0C0C0;
|
||||
-moz-box-shadow: 3px 3px 12px #C0C0C0;
|
||||
box-shadow: 3px 3px 12px #C0C0C0;
|
||||
background: url('../images/window.gif');
|
||||
border:1px solid #c3c3c3;
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
z-index: 1;
|
||||
}
|
||||
table.mxWindow {
|
||||
border-collapse: collapse;
|
||||
table-layout: fixed;
|
||||
font-family: Arial;
|
||||
font-size: 8pt;
|
||||
}
|
||||
td.mxWindowTitle {
|
||||
background: url('../images/window-title.gif') repeat-x;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
overflow: hidden;
|
||||
height: 13px;
|
||||
padding: 2px;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 6px;
|
||||
color: black;
|
||||
}
|
||||
td.mxWindowPane {
|
||||
vertical-align: top;
|
||||
padding: 0px;
|
||||
}
|
||||
div.mxWindowPane {
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
}
|
||||
td.mxWindowPane td {
|
||||
font-family: Arial;
|
||||
font-size: 8pt;
|
||||
}
|
||||
td.mxWindowPane input, td.mxWindowPane select, td.mxWindowPane textarea, td.mxWindowPane radio {
|
||||
border-color: #8C8C8C;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
font-family: Arial;
|
||||
font-size: 8pt;
|
||||
padding: 1px;
|
||||
}
|
||||
td.mxWindowPane button {
|
||||
background: url('../images/button.gif') repeat-x;
|
||||
font-family: Arial;
|
||||
font-size: 8pt;
|
||||
padding: 2px;
|
||||
float: left;
|
||||
}
|
||||
img.mxToolbarItem {
|
||||
margin-right: 6px;
|
||||
margin-bottom: 6px;
|
||||
border-width: 1px;
|
||||
}
|
||||
select.mxToolbarCombo {
|
||||
vertical-align: top;
|
||||
border-style: inset;
|
||||
border-width: 2px;
|
||||
}
|
||||
div.mxToolbarComboContainer {
|
||||
padding: 2px;
|
||||
}
|
||||
img.mxToolbarMode {
|
||||
margin: 2px;
|
||||
margin-right: 4px;
|
||||
margin-bottom: 4px;
|
||||
border-width: 0px;
|
||||
}
|
||||
img.mxToolbarModeSelected {
|
||||
margin: 0px;
|
||||
margin-right: 2px;
|
||||
margin-bottom: 2px;
|
||||
border-width: 2px;
|
||||
border-style: inset;
|
||||
}
|
||||
div.mxTooltip {
|
||||
-webkit-box-shadow: 3px 3px 12px #C0C0C0;
|
||||
-moz-box-shadow: 3px 3px 12px #C0C0C0;
|
||||
box-shadow: 3px 3px 12px #C0C0C0;
|
||||
background: #FFFFCC;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: black;
|
||||
font-family: Arial;
|
||||
font-size: 8pt;
|
||||
position: absolute;
|
||||
cursor: default;
|
||||
padding: 4px;
|
||||
color: black;
|
||||
}
|
||||
div.mxPopupMenu {
|
||||
-webkit-box-shadow: 3px 3px 12px #C0C0C0;
|
||||
-moz-box-shadow: 3px 3px 12px #C0C0C0;
|
||||
box-shadow: 3px 3px 12px #C0C0C0;
|
||||
background: url('../images/window.gif');
|
||||
position: absolute;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: black;
|
||||
}
|
||||
table.mxPopupMenu {
|
||||
border-collapse: collapse;
|
||||
margin-top: 1px;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
tr.mxPopupMenuItem {
|
||||
color: black;
|
||||
cursor: pointer;
|
||||
}
|
||||
tr.mxPopupMenuItemHover {
|
||||
background-color: #000066;
|
||||
color: #FFFFFF;
|
||||
cursor: pointer;
|
||||
}
|
||||
td.mxPopupMenuItem {
|
||||
padding: 2px 30px 2px 10px;
|
||||
white-space: nowrap;
|
||||
font-family: Arial;
|
||||
font-size: 8pt;
|
||||
}
|
||||
td.mxPopupMenuIcon {
|
||||
background-color: #D0D0D0;
|
||||
padding: 2px 4px 2px 4px;
|
||||
}
|
||||
.mxDisabled {
|
||||
opacity: 0.2 !important;
|
||||
cursor:default !important;
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
#insert-menu .macro-drawio .icon {
|
||||
background:transparent url("images/logo-16x16.png") 0 0 no-repeat;
|
||||
margin-top:0px;
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
div.mxTooltip {
|
||||
filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4,
|
||||
Color='#A2A2A2', Positive='true');
|
||||
}
|
||||
div.mxPopupMenu {
|
||||
filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4,
|
||||
Color='#C0C0C0', Positive='true');
|
||||
}
|
||||
div.mxWindow {
|
||||
filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4,
|
||||
Color='#C0C0C0', Positive='true');
|
||||
}
|
||||
td.mxWindowTitle {
|
||||
_height: 23px;
|
||||
}
|
||||
.mxDisabled {
|
||||
_filter:alpha(opacity=20) !important;
|
||||
}
|
|
@ -1,296 +0,0 @@
|
|||
.drawio-dialog
|
||||
{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.dialog-title
|
||||
{
|
||||
border-bottom: 1px solid #ccc;
|
||||
padding: 20px 25px;
|
||||
box-sizing: border-box;
|
||||
height: 56px;
|
||||
width : 100%;
|
||||
background: #f5f5f5;
|
||||
color: #333;
|
||||
font-weight: normal;
|
||||
font-size: medium;
|
||||
}
|
||||
|
||||
.dialog-button-panel
|
||||
{
|
||||
border-top: 1px solid #ccc;
|
||||
padding: 12px 20px;
|
||||
box-sizing: border-box;
|
||||
height: 56px;
|
||||
width: 100%;
|
||||
margin: 0 10px 0 0;
|
||||
text-align: right;
|
||||
background: #f5f5f5;
|
||||
}
|
||||
.dialog-page
|
||||
{
|
||||
height : 483px;
|
||||
}
|
||||
.dialog-page-menu
|
||||
{
|
||||
background: none repeat scroll 0 0 #FFFFFF;
|
||||
border-right: 1px solid #CCCCCC;
|
||||
box-sizing: border-box;
|
||||
float: left;
|
||||
height: 100%;
|
||||
list-style: none outside none;
|
||||
margin: 0;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
padding: 10px 10px 20px;
|
||||
width: 25%;
|
||||
float : left;
|
||||
list-style: none outside none;
|
||||
}
|
||||
.dialog-page-menu li.page-menu-item.selected button.item-button {
|
||||
color: #333333;
|
||||
font-weight: bold;
|
||||
}
|
||||
.dialog-page-menu li.page-menu-item button.item-button
|
||||
{
|
||||
background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
|
||||
border: 0 none;
|
||||
color: #3B73AF;
|
||||
cursor: pointer;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: 1.1428;
|
||||
margin: 0;
|
||||
padding: 7px 10px;
|
||||
text-align: left;
|
||||
text-decoration: none;
|
||||
/*width: 100%;*/
|
||||
word-wrap : none;
|
||||
}
|
||||
.page-menu-item-hover
|
||||
{
|
||||
background-color: #E6E6E6;
|
||||
}
|
||||
.page-menu-item-selected button.item-button
|
||||
{
|
||||
color : #333333 !important;
|
||||
font-weight : bold;
|
||||
}
|
||||
.dialog-page-contents
|
||||
{
|
||||
height : 100%;
|
||||
float : left;
|
||||
width : 620px;
|
||||
}
|
||||
.search-input
|
||||
{
|
||||
width : 220px;
|
||||
float : left;
|
||||
}
|
||||
.text
|
||||
{
|
||||
height: 2.14286em;
|
||||
line-height: 1.42857;
|
||||
padding: 4px 5px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 3.01px;
|
||||
box-shadow: 0 1px 3px #ccc inset;
|
||||
box-sizing: border-box;
|
||||
color: #333;
|
||||
font-size: inherit;
|
||||
margin: 5px;
|
||||
max-width: 250px;
|
||||
vertical-align: baseline;
|
||||
width: 100%;
|
||||
}
|
||||
.dialog-panel-body
|
||||
{
|
||||
padding : 20px 10px;
|
||||
}
|
||||
.data-table-header
|
||||
{
|
||||
padding: 7px 10px;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
table.aui
|
||||
{
|
||||
width : 100%;
|
||||
border-collapse: collapse;;
|
||||
}
|
||||
table.aui>thead>tr>th, table.aui>tbody>tr>th, table.aui>thead>tr>td, table.aui>tbody>tr>td, table.aui>tfoot>tr>td
|
||||
{
|
||||
padding: 7px 10px;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
|
||||
}
|
||||
table.aui>tbody>tr>td, table.aui>tfoot>tr
|
||||
{
|
||||
background: #fff;
|
||||
border-top: 1px solid #ccc;
|
||||
color: #333;
|
||||
}
|
||||
.button-panel-button
|
||||
{
|
||||
background: #f2f2f2;
|
||||
background: -webkit-linear-gradient(top,#fff 0,#f2f2f2 100%);
|
||||
background: -moz-linear-gradient(top,#fff 0,#f2f2f2 100%);
|
||||
background: -ms-linear-gradient(top,#fff 0,#f2f2f2 100%);
|
||||
background: -o-linear-gradient(top,#fff 0,#f2f2f2 100%);
|
||||
background: linear-gradient(to bottom,#fff 0,#f2f2f2 100%);
|
||||
border-color: #ccc;
|
||||
-moz-border-radius: 3.01px;
|
||||
-webkit-border-radius: 3.01px;
|
||||
border-radius: 3.01px;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
color: #333;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-size: 14px;
|
||||
font-family: Arial,sans-serif;
|
||||
font-variant: normal;
|
||||
line-height: 20px;
|
||||
padding: 4px 10px;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 1px 0 white;
|
||||
vertical-align: baseline;
|
||||
margin : 0 10px 0 0;
|
||||
}
|
||||
|
||||
.data-table-panel tr.selected, .data-table-panel tr.selected a, .data-table-panel tr.selected td
|
||||
{
|
||||
background-color: #ebf2f9;
|
||||
}
|
||||
.data-table-panel
|
||||
{
|
||||
margin : 0px -10px;
|
||||
overflow-x: visible;
|
||||
overflow-y: auto;
|
||||
height : 388px;
|
||||
clear : both;
|
||||
}
|
||||
|
||||
.location-info, .location-info-top
|
||||
{
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
left: 210px;
|
||||
padding : 10px;
|
||||
}
|
||||
.location-info
|
||||
{
|
||||
border-top: 1px solid #ccc;
|
||||
bottom: 51px;
|
||||
}
|
||||
.location-info-top
|
||||
{
|
||||
top: 51px;
|
||||
}
|
||||
.field-group
|
||||
{
|
||||
padding: 0 0 0 100px;
|
||||
position: relative;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
#search-panel-button
|
||||
{
|
||||
position : relative;
|
||||
top : 4px;
|
||||
}
|
||||
|
||||
#alias
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
#url
|
||||
{
|
||||
margin : 30px;
|
||||
}
|
||||
.message-panel
|
||||
{
|
||||
padding-left : 10px;
|
||||
padding-top : 10px;
|
||||
}
|
||||
|
||||
button:focus, li:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
div.description {
|
||||
color: #707070;
|
||||
font-size: 12px;
|
||||
line-height: 1.66666666666667;
|
||||
margin: 5px 0 0 57px;
|
||||
}
|
||||
#url:hover, .button-panel-link:hover
|
||||
{
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
#url, .button-panel-link
|
||||
{
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.ui-tree li a,
|
||||
a.content-type-page span,
|
||||
div.content-type-page,
|
||||
span.content-type-page,
|
||||
.icon-page {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAPFBMVEX///+1tbWwsLCtra3///+Li4v5+fnZ2dnT09P8/PzPz8+rq6uhoaHR0dFycnJwcHB6enp4eHiDg4OAgIDxJSXRAAAADnRSTlMAIiJV3e7u7u7u7u7u7rDOyYEAAABUSURBVHhepcpLDoAwCABRqkBbP9Dq/e9qLYS1ibN8GQBYSFVGfQWLWmFEZG0uknGmuz+CDnjYEzDqDpF8BrV+HBxHNThjyBPo2qpBuemFROIpJXgAPRkGZhcD+TMAAAAASUVORK5CYII=);
|
||||
background-repeat: no-repeat;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
a.content-type-blogpost span,
|
||||
div.content-type-blogpost,
|
||||
span.content-type-blogpost,
|
||||
.icon-blog,
|
||||
.icon-blogpost {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAUVBMVEX///+1tbWwsLCtra3////GxsaLi4uzs7PPz8/5+fnr6+v19fXZ2dnT09P8/Pyrq6uhoaHR0dFwcHBycnJ4eHiAgIB6enqRkZF3d3eDg4OIiIgEhg+GAAAAEnRSTlMAIiJV3e7u7u7u7u7u7u7u7u5mVDB9AAAAdElEQVR4Xk3K2xbCIAxEUaqTcGurJtCq//+hItAF53HPGGNuLKKldDctPjYPwMvRRVfU5NE/ig541s+AUmow0g7WujhBfb9pBgTKQhOUPX5THGBPIRI3gHDmKPYCH3KwggJ7gxeu1gr8cXuDLfMfFtae8GJ+G+sIH3qkr1wAAAAASUVORK5CYII=);
|
||||
background-repeat: no-repeat;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
a.content-type-attachment-image span,
|
||||
div.content-type-attachment-image,
|
||||
span.content-type-attachment-image,
|
||||
.icon-file-image {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAaVBMVEX///+1tbWzs7OwsLD///+Li4vq6ur4+Pji4uLPz8/Hx8e1tbWmpqb29vazs7PW1tb///+srKzY2NjAwMCIiIiHh4d0dHRycnKLi4uDg4OTk5ORkZFwcHCHh4d6enqFhYV3d3d8fHyZmZke2Bp4AAAAFnRSTlMAIiIi3e7u7u7u7u7u7u7u7u7u7u7uxh/uMQAAAHZJREFUeF6Fz8kOwjAMRVEDdjozY2dsC///kSQB0goWHCmLdyUvAj+2JCu0AQoKi/NEIHVZ8R08yGc77xCPsoTZzzHn0Jp01rjmHTpmjdkrnDjq4qj2fZUCZzWq3trLEnRrk6EEDnoy5v4QuPHKOBLsrl9/+esJNi4MYbEkhTkAAAAASUVORK5CYII=);
|
||||
background-repeat: no-repeat;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
a.content-type-attachment-pdf span,
|
||||
div.content-type-attachment-pdf,
|
||||
span.content-type-attachment-pdf,
|
||||
.icon-file-pdf {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAWlBMVEX///+1tbWzs7OwsLD////7+/v88vHm5ubi4uLf39/12dbY2NjyzMnS0tLPz8/stK/pqKLmnJXjkYnghXyLi4veenDbb2WFhYWBgYHYY1lycnLVWU1wcHDQRDd8ojdZAAAAFXRSTlMAIiIi3e7u7u7u7u7u7u7u7u7u7u4cXfPyAAAAaUlEQVQYV13PRxaAMAgEUNTYC0awRb3/NY1pz2RW8NkwAFCw8uEcdHivhU178AfK71qUgW9cFyM/wATknABSAufWRYCyuxYpA1QnzQMSecAL3SMOHhIxhJQWmgCTAT56dx9tuTzUvzmDF/8aCYb2SVzBAAAAAElFTkSuQmCC);
|
||||
background-repeat: no-repeat;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
a.content-type-attachment-text-html span,
|
||||
div.content-type-attachment-text-html,
|
||||
span.content-type-attachment-text-html,
|
||||
a.content-type-attachment-html span,
|
||||
div.content-type-attachment-html,
|
||||
span.content-type-attachment-html,
|
||||
a.content-type-attachment-text-xml span,
|
||||
div.content-type-attachment-text-xml,
|
||||
span.content-type-attachment-text-xml,
|
||||
a.content-type-attachment-xml span,
|
||||
div.content-type-attachment-xml,
|
||||
span.content-type-attachment-xml,
|
||||
a.content-type-attachment-js span,
|
||||
div.content-type-attachment-js,
|
||||
span.content-type-attachment-js,
|
||||
.icon-file-html,
|
||||
.icon-file-xml {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAZlBMVEX///+1tbWzs7OxsbH///+RkZGPj4/R0dG5ubnMzMzPz8+zs7OcnJzExMT39/f5+fnHx8fm5ubY2Nj09PTz8/OxsbGnp6ft7e1ycnJvb29wcHB2dnaRkZGNjY2FhYWBgYF+fn54eHhKjR8EAAAAGHRSTlMAIiIi3d3d7u7u7u7u7u7u7u7u7u7u7u5Iiv/NAAAAcklEQVR4Xl3Pxw4DMQgEUJyMy5b0Bnbq//9kFssJkufG0xwGIhcy/+IdEfnXgJbh7RfgiH/2rLAzOFcAIMC9SgOZcJwN9MYldY3HQQwAuT0xiQGQrlAxmGPX+AB6ox92qjB2030ZW2e7KfrcOnBL5rCiLxz1CbC+jprRAAAAAElFTkSuQmCC);
|
||||
background-repeat: no-repeat;
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
/* contains styles specific to the Confluence integration */
|
||||
|
||||
|
||||
html tr.mxPopupMenuItemHover {
|
||||
background-color: #3B73AF;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
html div.mxPopupMenu {
|
||||
background-color: #FFFFFF;
|
||||
border: 1px solid #CCCCCC;
|
||||
border-bottom-left-radius: 3px;
|
||||
border-bottom-right-radius: 3px;
|
||||
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
|
||||
|
||||
font-size: 14px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.geMenubar
|
||||
{
|
||||
background-color: #205081;
|
||||
}
|
||||
|
||||
.geMenubarContainer a
|
||||
{
|
||||
color: #FFFFFF !important;
|
||||
padding: 10px 10px !important;
|
||||
}
|
||||
|
||||
.geMenubarContainer .geItem:hover
|
||||
{
|
||||
background-color: #3B73A7 !important;
|
||||
}
|
|
@ -1,49 +0,0 @@
|
|||
.drawio-list {
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
text-align: center;
|
||||
padding-bottom: 50px;
|
||||
padding-right: 30px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.drawio-list-item {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 3px solid #F0F0F0;
|
||||
border-radius: 5px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.drawio-list-item-hover {
|
||||
border: 3px solid #c5c5c5;
|
||||
}
|
||||
|
||||
.drawio-list-item-selected {
|
||||
border: 3px solid #3b73af;
|
||||
}
|
||||
|
||||
.drawio-separator {
|
||||
border-top: 1px solid #F0F0F0;
|
||||
clear: both;
|
||||
padding-top : 10px;
|
||||
padding-bottom : 10px;
|
||||
}
|
||||
|
||||
.drawio-thumbnail {
|
||||
width: 100%;
|
||||
height: 100%; background-repeat : no-repeat;
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.drawio-template-panel-header {
|
||||
padding-left: 10px;
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.drawio-search-results {
|
||||
padding-top : 10px;
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
.drawio-viewer {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.diagramly-reader-toolbar {
|
||||
|
||||
height : 27px;
|
||||
margin-left: 1px;
|
||||
margin-bottom: 1px;
|
||||
background-color: #EEEEEE;
|
||||
border-radius : 3px;
|
||||
}
|
||||
|
||||
.diagramly-reader-toolbar-button, .diagramly-reader-toolbar-button-hover {
|
||||
float : left;
|
||||
border-radius : 3px;
|
||||
padding: 2px;
|
||||
opacity : 0.7;
|
||||
}
|
||||
|
||||
.diagramly-reader-toolbar-button {
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
.diagramly-reader-toolbar-button-hover {
|
||||
border: 1px solid #404040;
|
||||
opacity : 1.0;
|
||||
}
|
||||
|
||||
.drawio-reader-popup-header
|
||||
{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.drawio-reader-heading
|
||||
{
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
}
|
|
@ -1,84 +0,0 @@
|
|||
.diagramly-selected {
|
||||
background-color: #EEEEEE;
|
||||
}
|
||||
|
||||
.diagramly-search-results {
|
||||
|
||||
}
|
||||
|
||||
.diagramly-results-table {
|
||||
width: 100%;
|
||||
border-spacing: 0px;
|
||||
padding: 0 10px 0 10px;
|
||||
|
||||
}
|
||||
|
||||
.diagramly-results-table td {
|
||||
line-height: 24px;
|
||||
color: #666666;
|
||||
cursor: default;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.diagramly-results-table th {
|
||||
font-size: 12px;
|
||||
line-height: 24px;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
border-bottom: 1px solid #F0F0F0;
|
||||
color: #666666;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.diagramly-blueprint-list {
|
||||
|
||||
}
|
||||
|
||||
.diagramly-blueprint-list-item-wrapper {
|
||||
width : 90px;
|
||||
height : 90px;
|
||||
text-align : center;
|
||||
|
||||
}
|
||||
|
||||
.diagramly-blueprint-list-item {
|
||||
width : 100%;
|
||||
height : 100%;
|
||||
border : 3px solid #F0F0F0;
|
||||
border-radius : 5px;
|
||||
padding : 2px;
|
||||
}
|
||||
|
||||
.diagramly-blueprint-list-item-hover {
|
||||
border : 3px solid #c5c5c5;
|
||||
}
|
||||
|
||||
.diagramly-blueprint-list-item-selected {
|
||||
border : 3px solid #3b73af;
|
||||
}
|
||||
|
||||
.drawio-list-item-wrapper {
|
||||
width : 90px;
|
||||
height : 90px;
|
||||
text-align : center;
|
||||
|
||||
}
|
||||
|
||||
.drawio-list-item {
|
||||
width : 100%;
|
||||
height : 100%;
|
||||
border : 3px solid #F0F0F0;
|
||||
border-radius : 5px;
|
||||
padding : 2px;
|
||||
}
|
||||
|
||||
.drawio-list-item-hover {
|
||||
border : 3px solid #c5c5c5;
|
||||
}
|
||||
|
||||
.drawio-list-item-selected {
|
||||
border : 3px solid #3b73af;
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
diagramly.reader.edit=Edit
|
||||
diagramly.reader.remove=Remove
|
||||
diagramly.reader.fit=Zoom to Fit
|
||||
diagramly.reader.zoomActual=Actual Size
|
||||
diagramly.reader.zoomOut=Zoom Out
|
||||
diagramly.reader.zoomIn=Zoom In
|
||||
diagramly.reader.confirmDelete=Are you sure you want to delete this diagram?
|
||||
diagramly.reader.fullScreen=Full screen
|
||||
diagramly.reader.closeFullScreen=Close full screen
|
|
@ -1,9 +0,0 @@
|
|||
diagramly.reader.edit=Bearbeiten
|
||||
diagramly.reader.remove=Entfernen
|
||||
diagramly.reader.fit=Zoom anpassen
|
||||
diagramly.reader.zoomActual=Tatsächliche Grösse
|
||||
diagramly.reader.zoomOut=Herauszoomen
|
||||
diagramly.reader.zoomIn=Hineinzoomen
|
||||
diagramly.reader.confirmDelete=Sind Sie sicher, Sie wollen dieses Diagramm zu löschen?
|
||||
diagramly.reader.fullScreen=Vollbild
|
||||
diagramly.reader.closeFullScreen=SchlieÃen vollbild
|
|
@ -1,47 +0,0 @@
|
|||
//Logs uncaught errors
|
||||
window.onerror = function(message, url, linenumber, colno, err)
|
||||
{
|
||||
message = 'Confluence Cloud Admin: ' + ((message != null) ? message : '');
|
||||
|
||||
AC.logError(message, url, linenumber, colno, err);
|
||||
};
|
||||
|
||||
var baseUrl = AC.getBaseUrl();
|
||||
|
||||
var script = document.createElement('script');
|
||||
|
||||
script.onload = function()
|
||||
{
|
||||
AP.sizeToParent(true);
|
||||
|
||||
setTimeout(function()
|
||||
{
|
||||
AP.sizeToParent(true);
|
||||
}, 5000); //Try resizing again after 5 sec since the first one fails sometimes
|
||||
|
||||
getAndApplyTranslation(function()
|
||||
{
|
||||
//JQuery is loaded in this page, so we can use it
|
||||
var logDiv = $('#operationLog');
|
||||
|
||||
var importBtn = $('#importBtn');
|
||||
|
||||
importBtn.attr("disabled", null);
|
||||
|
||||
importBtn.click(function()
|
||||
{
|
||||
$('#busyIcon').show();
|
||||
importBtn.prop('disabled', true); //Disable button to prevent concurrent execution
|
||||
|
||||
GliffyMassImporter(logDiv, function()
|
||||
{
|
||||
$('#busyIcon').hide();
|
||||
importBtn.prop('disabled', false);
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
script.src = 'https://connect-cdn.atl-paas.net/all.js';
|
||||
script.setAttribute('data-options', 'resize:false;margin:false');
|
||||
document.getElementsByTagName('head')[0].appendChild(script);
|
|
@ -1,22 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
|
||||
<script src="connectUtils-1-4-8.js" type="text/javascript"></script>
|
||||
<script src="admin.js" type="text/javascript"></script>
|
||||
<link rel="stylesheet" type="text/css" href="//aui-cdn.atlassian.com/aui-adg/6.0.4/css/aui.css">
|
||||
</head>
|
||||
<body class="aui-layout aui-theme-default" style="background-color:rgb(255, 255, 255);">
|
||||
<div class="aui-page-panel" style="margin-top:0px;">
|
||||
<h4 style="padding-top:20px;" data-i18n="gliffyImport">Gliffy Import</h4>
|
||||
<div><br><span data-i18n="gliffyImportInst1">Click the "Start Import" button to import all Gliffy diagrams to draw.io.</span><br>
|
||||
<span data-i18n="gliffyImportInst2">Please note that the import procedure will take some time and the browser window must remain open until the import is completed.</span></div>
|
||||
<div style="padding-bottom:4px;"><br><button id="importBtn" disabled="disabled" class="aui-button aui-button-primary" data-i18n="startImport">Start Import</button>
|
||||
<img id="busyIcon" src="/images/spin.gif" style="display: none">
|
||||
</div>
|
||||
<div id="operationLog"><br></div>
|
||||
</div>
|
||||
<script src="admin-page.js" type="text/javascript"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,171 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
|
||||
<script src="//aui-cdn.atlassian.com/aui-adg/6.0.4/js/aui.min.js"></script>
|
||||
<script src="prism/prism.js"></script>
|
||||
<script src="prism/bililiteRange.js"></script>
|
||||
<script src="prism/bililiteRange.undo.js"></script>
|
||||
<script src="prism/bililiteRange.util.js"></script>
|
||||
<script src="prism/bililiteRange.fancytext.js"></script>
|
||||
|
||||
<script src="connectUtils-1-4-8.js" type="text/javascript"></script>
|
||||
<script src="admin.js" type="text/javascript"></script>
|
||||
<script src="config.js" type="text/javascript"></script>
|
||||
<link rel="stylesheet" type="text/css" href="//aui-cdn.atlassian.com/aui-adg/6.0.4/css/aui.css">
|
||||
<link rel="stylesheet" type="text/css" href="prism/prism.css" />
|
||||
<style type="text/css">
|
||||
code:focus {
|
||||
outline: none;
|
||||
}
|
||||
.upload-btn-wrapper {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.upload-btn-wrapper input[type=file] {
|
||||
font-size: 100px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
opacity: 0;
|
||||
}
|
||||
table {
|
||||
border: 1px solid #eee;
|
||||
text-align: left;
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
table td, th{
|
||||
border: 1px solid #999;
|
||||
padding-left: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="aui-layout aui-theme-default" style="background-color:rgb(255, 255, 255);">
|
||||
<div class="aui-tabs horizontal-tabs">
|
||||
<ul class="tabs-menu">
|
||||
<li class="menu-item active-tab">
|
||||
<a href="#configTab"><strong data-i18n="drawConfig">draw.io Configuration</strong></a>
|
||||
</li>
|
||||
<li class="menu-item" id="cLibTabHeader" style="display: none">
|
||||
<a href="#cLibsTab"><strong data-i18n="customLib">Custom Libraries</strong></a>
|
||||
</li>
|
||||
<li class="menu-item" id="cTempTabHeader" style="display: none">
|
||||
<a href="#cTempTab"><strong data-i18n="customTemp">Custom Templates</strong></a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="#pageIdsTab"><strong data-i18n="pageIdsExp">Page IDs Export</strong></a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="#pageIdsImportTab"><strong data-i18n="pageIdsImp">Page IDs Import</strong></a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="#reindexingTab"><strong data-i18n="drawReindex">draw.io re-indexing (Beta)</strong></a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tabs-pane active-pane" id="configTab">
|
||||
<br>
|
||||
<h4 data-i18n="drawConfig">draw.io Configuration</h4>
|
||||
<div id="busyIndicator">
|
||||
<img src="/images/spin.gif"> <span data-i18n="working">Working</span>...
|
||||
</div>
|
||||
<div id="createSpace" style="display: none;">
|
||||
<br>
|
||||
<span data-i18n="drawConfigNotFoundInst">draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.</span>
|
||||
<br>
|
||||
<div>
|
||||
<br>
|
||||
<button id="createConfSpaceBtn" disabled="disabled" class="aui-button aui-button-primary" data-i18n="createConfSp">Create Config Space</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="confError" style="display: none; color: #bb0000" data-i18n="unexpErrRefresh">
|
||||
Unexpected error, please refresh the page and try again.
|
||||
</div>
|
||||
<div id="manageConfig" style="display: none;">
|
||||
<br>
|
||||
<span data-i18n="configJSONInst">Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to</span> <a href="https://desk.draw.io/support/solutions/articles/16000058316" target="_blank" data-i18n="thisPage">this page</a>.
|
||||
<br>
|
||||
<div id="jsonMsg"> </div>
|
||||
<pre class="line-numbers language-json" style="height: 400px"><code contenteditable="true" id="configJSON" class="language-json" style="height: 100%; width: 100%; display: block"></code></pre>
|
||||
<div>
|
||||
<button id="saveConfigBtn" class="aui-button aui-button-primary" data-i18n="save">Save</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tabs-pane" id="cLibsTab">
|
||||
<br>
|
||||
<h4 data-i18n="curCustLib">Current Custom Libraries</h4>
|
||||
<br>
|
||||
<table id="curLibs" style="box-sizing: border-box; max-width: 100%">
|
||||
<tr>
|
||||
<th style="min-width: 400px" data-i18n="libName">Library Name</th>
|
||||
<th style="width: 47px" data-i18n="action">Action</th>
|
||||
<th data-i18n="drawConfID">draw.io Config ID</th>
|
||||
</tr>
|
||||
</table>
|
||||
<div><br><span data-i18n="addLibInst">Click the "Add Library" button to upload a new library.</span></div>
|
||||
<div>
|
||||
<div id="cLibMsg"> </div>
|
||||
<div class="upload-btn-wrapper">
|
||||
<button class="aui-button aui-button-primary" data-i18n="addLib">Add Library</button>
|
||||
<input type="file" id="uploadLib" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tabs-pane" id="cTempTab">
|
||||
<br>
|
||||
<h4 data-i18n="customTemp">Custom Templates</h4>
|
||||
<br>
|
||||
<div>
|
||||
<span data-i18n="customTempInst1">Custom Templates are draw.io diagrams saved in children pages of</span> <a id="tempPageLnk" target="_blank" data-i18n="tempsPage">Templates page</a>. <br>
|
||||
<span data-i18n="customTempInst2">For more details, please refer to</span> <a href="https://desk.draw.io/" target="_blank" data-i18n="thisPage">this page</a>.
|
||||
</div>
|
||||
</div>
|
||||
<div class="tabs-pane" id="pageIdsTab">
|
||||
<div><br><span data-i18n="pageIdsExpInst1">Select export target, then click the "Start Export" button to export all page IDs.</span><br>
|
||||
<span data-i18n="pageIdsExpInst2">Please note that the export procedure will take some time and the browser window must remain open until the export is completed.</span></div>
|
||||
<br>
|
||||
<div>
|
||||
<span style="font-weight: bold;" data-i18n="pageIdsExpTrg">Export target</span>:<br>
|
||||
<input type="radio" value="cloud" name="expTrg" id="expTrgCloud" checked="checked"><label for="expTrgCloud">Cloud</label>
|
||||
<input type="radio" value="server" name="expTrg" id="expTrgServer"><label for="expTrgServer">Server</label>
|
||||
<input type="radio" value="dc" name="expTrg" id="expTrgDC"><label for="expTrgDC">Data Center</label>
|
||||
</div>
|
||||
<div style="padding-bottom:4px;">
|
||||
<br><button id="exportBtn" disabled="disabled" class="aui-button aui-button-primary" data-i18n="startExp">Start Export</button>
|
||||
<img id="busyIcon" src="/images/spin.gif" style="display: none">
|
||||
<span id="idExportInfo"></span>
|
||||
<div id="idExportErrors" style="color: red"></div>
|
||||
</div>
|
||||
<textarea id="exportResult" style="width:800px; height: 300px"></textarea>
|
||||
<br><a id="pageIdsDownload" style="display: none; cursor: pointer;" data-i18n="download">Download</a>
|
||||
</div>
|
||||
<div class="tabs-pane" id="pageIdsImportTab">
|
||||
<div><br><span data-i18n="pageIdsImpInst1">After importing a space from another cloud/server instance or migrating from a cloud/server instance. Use "Page IDs Export" on that instance (the source), download the "pageIds.csv" file, then use this tool to complete the import process.</span><br><br>
|
||||
<span data-i18n="pageIdsImpInst2">Click "Start Import" button to upload the "pageIds.csv" file to this tool and start the import process. Please note that the import procedure will take some time and the browser window must remain open until the import is completed.</span></div>
|
||||
<div style="padding-bottom:4px;">
|
||||
<br>
|
||||
<button id="importBtn" disabled="disabled" class="aui-button aui-button-primary" data-i18n="startImp">Start Import</button>
|
||||
<img id="PIBusyIcon" src="/images/spin.gif" style="display: none">
|
||||
<span id="idImportInfo"></span>
|
||||
<div id="idImportErrors" style="color: red"></div>
|
||||
</div>
|
||||
<div id="pageIdsImportLog"><br></div>
|
||||
</div>
|
||||
<div class="tabs-pane" id="reindexingTab">
|
||||
<br>
|
||||
<h4 data-i18n="refreshDrawIndex">Refresh draw.io Diagrams Index</h4>
|
||||
<div><br><span data-i18n="reindexInst1">Click the "Start Indexing" button to refresh draw.io diagrams index.</span><br>
|
||||
<span data-i18n="reindexInst2">Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.</span></div>
|
||||
<div><br><button id="indexBtn" disabled="disabled" class="aui-button aui-button-primary" data-i18n="startIndexing">Start Indexing</button>
|
||||
<img id="DRIbusyIcon" src="/images/spin.gif" style="display: none">
|
||||
</div>
|
||||
<div id="operationLog"><br></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,482 +0,0 @@
|
|||
{
|
||||
"name": "draw.io",
|
||||
"description": "draw.io add-on for Confluence",
|
||||
"key": "com.mxgraph.confluence.plugins.diagramly",
|
||||
"baseUrl": "https://test.draw.io",
|
||||
"enableLicensing": true,
|
||||
"apiMigrations": {
|
||||
"gdpr": true
|
||||
},
|
||||
"vendor":
|
||||
{
|
||||
"name": "//SEIBERT/MEDIA",
|
||||
"url": "https://www.seibert-media.net/"
|
||||
},
|
||||
"links": {
|
||||
"documentation": "https://support.draw.io/display/DFCC/draw.io+for+Confluence+Cloud"
|
||||
},
|
||||
"version": "1.4.42",
|
||||
"authentication":
|
||||
{
|
||||
"type": "none"
|
||||
},
|
||||
"modules":
|
||||
{
|
||||
"adminPages": [
|
||||
{
|
||||
"key": "gliffyImport",
|
||||
"url": "/connect/confluence/admin.html",
|
||||
"name": {
|
||||
"value": "draw.io Gliffy Import",
|
||||
"i18n": "gliffyImport"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "lucidImport",
|
||||
"url": "/connect/confluence/lucidMassImport.html",
|
||||
"name": {
|
||||
"value": "draw.io Lucidchart Import",
|
||||
"i18n": "lucidImport"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "drawioConfig",
|
||||
"url": "/connect/confluence/config.html",
|
||||
"name": {
|
||||
"value": "draw.io Configuration",
|
||||
"i18n": "drawConfig"
|
||||
}
|
||||
}
|
||||
],
|
||||
"postInstallPage": {
|
||||
"key": "postInstall",
|
||||
"url": "/connect/confluence/support.html",
|
||||
"name": {
|
||||
"value": "Welcome to draw.io",
|
||||
"i18n": "postinstall"
|
||||
}
|
||||
},
|
||||
"generalPages": [
|
||||
{
|
||||
"key": "lightbox",
|
||||
"location": "hidden",
|
||||
"url": "/connect/confluence/viewer-1-4-42.html?lightbox=1",
|
||||
"name": {
|
||||
"value": "Lightbox",
|
||||
"i18n": "lightbox"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "customContentViewer",
|
||||
"location": "hidden",
|
||||
"url": "/connect/confluence/viewer-1-4-42.html?custom=1&contentId={content.id}",
|
||||
"name": {
|
||||
"value": "draw.io Viewer",
|
||||
"i18n": "drawViewer"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "customContentEditor",
|
||||
"location": "hidden",
|
||||
"url": "/connect/confluence/macroEditor-1-4-8.html?custom=1",
|
||||
"name": {
|
||||
"value": "draw.io Editor",
|
||||
"i18n": "drawEditor"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "macroEditor",
|
||||
"location": "hidden",
|
||||
"url": "/connect/confluence/macroEditor-1-4-8.html",
|
||||
"name": {
|
||||
"value": "draw.io Editor",
|
||||
"i18n": "drawEditor"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "splashEditor",
|
||||
"location": "hidden",
|
||||
"url": "/connect/confluence/splashEditor.html",
|
||||
"name": {
|
||||
"value": "draw.io Splash Editor",
|
||||
"i18n": "drawSplashEditor"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "support",
|
||||
"location": "system.help/pages",
|
||||
"url": "/connect/confluence/support.html",
|
||||
"name": {
|
||||
"value": "draw.io Support",
|
||||
"i18n": "support"
|
||||
}
|
||||
}
|
||||
],
|
||||
"customContent": [{
|
||||
"key": "drawio-diagram",
|
||||
"name": {
|
||||
"value": "draw.io Diagrams",
|
||||
"i18n": "drawDiagrams"
|
||||
},
|
||||
"uiSupport": {
|
||||
"contentViewComponent": {
|
||||
"moduleKey": "customContentViewer"
|
||||
},
|
||||
"icons": {
|
||||
"item": {
|
||||
"url": "/images/drawlogo48.png"
|
||||
}
|
||||
}
|
||||
},
|
||||
"apiSupport": {
|
||||
"supportedContainerTypes": ["page", "comment", "space", "blogpost"],
|
||||
"supportedChildTypes": ["attachment"],
|
||||
"indexing": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"dynamicContentMacros":
|
||||
[
|
||||
{
|
||||
"name":
|
||||
{
|
||||
"i18n": "drawioMacro",
|
||||
"value": "draw.io Diagram"
|
||||
},
|
||||
"url": "/connect/confluence/viewer-1-4-42.html?ceoId=${page.id}&diagramName=${diagramName}&revision=${revision}&width=${width}&height=${height}&tbstyle=${tbstyle}&simple=${simple}&lbox=${lbox}&zoom=${zoom}&links=${links}&owningPageId=${pageId}&displayName=${diagramDisplayName}&contentId={contentId}&custContentId={custContentId}&contentVer={contentVer}&inComment={inComment}&aspect={aspect}&pCenter={pCenter}",
|
||||
"width": "100%",
|
||||
"description":
|
||||
{
|
||||
"i18n": "drawDesc",
|
||||
"value": "Inserts a new draw.io diagram"
|
||||
}, "icon":
|
||||
{
|
||||
"width": 128,
|
||||
"height": 128,
|
||||
"url": "/images/drawlogo128.png"
|
||||
},
|
||||
"categories": [
|
||||
"visuals"
|
||||
],
|
||||
"outputType": "block",
|
||||
"featured": true,
|
||||
"key": "drawio",
|
||||
"parameters":
|
||||
[
|
||||
{
|
||||
"identifier": "diagramName",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram name (do not change)",
|
||||
"i18n": "diagramName"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "autoSize",
|
||||
"name":
|
||||
{
|
||||
"value": "automatic size",
|
||||
"i18n": "automaticSize"
|
||||
},
|
||||
"type": "boolean",
|
||||
"defaultValue": "true"
|
||||
},
|
||||
{
|
||||
"identifier": "PageId",
|
||||
"name":
|
||||
{
|
||||
"value": "Parent page ID",
|
||||
"i18n": "pPageID"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "baseUrl",
|
||||
"name":
|
||||
{
|
||||
"value": "Confluence Base URL",
|
||||
"i18n": "baseUrl"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "width",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram width",
|
||||
"i18n": "dWidth"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"identifier": "height",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram height",
|
||||
"i18n": "dHeight"
|
||||
},
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"editor": {
|
||||
"url": "/connect/confluence/initEditor.html?ceoId=${page.id}&diagramName=${diagramName}",
|
||||
"width": "100%",
|
||||
"height": "100%",
|
||||
"editTitle":
|
||||
{
|
||||
"value" : "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"
|
||||
},
|
||||
"insertTitle":
|
||||
{
|
||||
"value" : "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"
|
||||
}
|
||||
},
|
||||
"imagePlaceholder": {
|
||||
"width": 500,
|
||||
"height": 300,
|
||||
"url": "/connectImage",
|
||||
"applyChrome": true
|
||||
},
|
||||
"renderModes": {
|
||||
"default": {
|
||||
"url": "/connectRender?pageId=${page.id}&diagramName=${diagramName}&tempPreview=${tempPreview}&width=${width}&height=${height}&zoom=${zoom}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name":
|
||||
{
|
||||
"i18n": "incDrawioMacro",
|
||||
"value": "Embed draw.io Diagram"
|
||||
},
|
||||
"url": "/connect/confluence/viewer-1-4-42.html?linked=1&ceoId=${page.id}&imgPageId=${imgPageId}&diagramName=${diagramName}&revision=${revision}&width=${width}&height=${height}&tbstyle=${tbstyle}&simple=${simple}&lbox=${lbox}&zoom=${zoom}&links=${links}&owningPageId=${pageId}&displayName=${diagramDisplayName}&contentId=${contentId}&custContentId={custContentId}&contentVer=${contentVer}&diagramUrl=${diagramUrl}&csvFileUrl=${csvFileUrl}&aspect=${aspect}&aspectHash=${aspectHash}&attVer=${attVer}&service=${service}&sFileId=${sFileId}&odriveId=${odriveId}",
|
||||
"width": "100%",
|
||||
"description":
|
||||
{
|
||||
"i18n": "embedDesc",
|
||||
"value": "Embed an existing draw.io diagram"
|
||||
}, "icon":
|
||||
{
|
||||
"width": 128,
|
||||
"height": 128,
|
||||
"url": "/images/drawlogo128.png"
|
||||
},
|
||||
"categories": [
|
||||
"visuals"
|
||||
],
|
||||
"outputType": "block",
|
||||
"featured": true,
|
||||
"key": "inc-drawio",
|
||||
"parameters":
|
||||
[
|
||||
{
|
||||
"identifier": "diagramName",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram name (do not change)",
|
||||
"i18n": "diagramName"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "autoSize",
|
||||
"name":
|
||||
{
|
||||
"value": "automatic size",
|
||||
"i18n": "automaticSize"
|
||||
},
|
||||
"type": "boolean",
|
||||
"defaultValue": "true"
|
||||
},
|
||||
{
|
||||
"identifier": "PageId",
|
||||
"name":
|
||||
{
|
||||
"value": "Parent page ID",
|
||||
"i18n": "pPageID"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "baseUrl",
|
||||
"name":
|
||||
{
|
||||
"value": "Confluence Base URL",
|
||||
"i18n": "baseUrl"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "width",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram width",
|
||||
"i18n": "dWidth"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"identifier": "height",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram height",
|
||||
"i18n": "dHeight"
|
||||
},
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"editor": {
|
||||
"url": "/connect/confluence/includeDiagram.html",
|
||||
"width": "80%",
|
||||
"height": "60%"
|
||||
},
|
||||
"imagePlaceholder": {
|
||||
"width": 500,
|
||||
"height": 300,
|
||||
"url": "/connectImage",
|
||||
"applyChrome": true
|
||||
},
|
||||
"renderModes": {
|
||||
"default": {
|
||||
"url": "/connectRender?pageId=${pageId}&imgPageId=${imgPageId}&diagramName=${diagramName}&tempPreview=${tempPreview}&width=${width}&height=${height}&zoom=${zoom}&aspectHash={aspectHash}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name":
|
||||
{
|
||||
"i18n": "legacyDrawioMacro",
|
||||
"value": "Legacy macro - do not use"
|
||||
},
|
||||
"url": "/connect/confluence/viewer.html?ceoId=${page.id}&diagramName=${diagramName}&revision=${revision}&width=${width}&height=${height}",
|
||||
"width": "100%",
|
||||
"description":
|
||||
{
|
||||
"i18n": "legacyDesc",
|
||||
"value": "Do not use"
|
||||
}, "icon":
|
||||
{
|
||||
"width": 80,
|
||||
"height": 80,
|
||||
"url": "/images/stop-flat-icon-80.png"
|
||||
},
|
||||
"categories": [
|
||||
"visuals"
|
||||
],
|
||||
"outputType": "block",
|
||||
"featured": false,
|
||||
"key": "drawio-macro",
|
||||
"parameters":
|
||||
[
|
||||
{
|
||||
"identifier": "diagramName",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram name (do not change)",
|
||||
"i18n": "diagramName"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "autoSize",
|
||||
"name":
|
||||
{
|
||||
"value": "automatic size",
|
||||
"i18n": "automaticSize"
|
||||
},
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"identifier": "PageId",
|
||||
"name":
|
||||
{
|
||||
"value": "Parent page ID",
|
||||
"i18n": "pPageID"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"identifier": "baseUrl",
|
||||
"name":
|
||||
{
|
||||
"value": "Confluence Base URL",
|
||||
"i18n": "baseUrl"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"identifier": "width",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram width",
|
||||
"i18n": "dWidth"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"identifier": "height",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram Height",
|
||||
"i18n": "dHeight"
|
||||
},
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"editor": {
|
||||
"url": "/connect/confluence/macroEditor.html?ceoId=${page.id}&diagramName=${diagramName}",
|
||||
"editTitle": {
|
||||
"value": "Edit Markdown",
|
||||
"i18n": "macro.md.edit"
|
||||
},
|
||||
"insertTitle": {
|
||||
"value": "Insert Markdown",
|
||||
"i18n": "macro.md.insert"
|
||||
},
|
||||
"width": "100%",
|
||||
"height": "100%"
|
||||
},
|
||||
"imagePlaceholder": {
|
||||
"width": 500,
|
||||
"height": 300,
|
||||
"url": "/connectImage",
|
||||
"applyChrome": true
|
||||
},
|
||||
"renderModes": {
|
||||
"default": {
|
||||
"url": "/connectRender?pageId=${page.id}&diagramName=${diagramName}&revision=${revision}&tempPreview=${tempPreview}"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"scopes": [
|
||||
"read",
|
||||
"write",
|
||||
"delete"
|
||||
]
|
||||
}
|
|
@ -1,493 +0,0 @@
|
|||
{
|
||||
"name": "draw.io",
|
||||
"description": "draw.io add-on for Confluence",
|
||||
"key": "com.mxgraph.confluence.plugins.diagramly",
|
||||
"baseUrl": "https://confluence.draw.io",
|
||||
"enableLicensing": true,
|
||||
"apiMigrations": {
|
||||
"gdpr": true
|
||||
},
|
||||
"vendor":
|
||||
{
|
||||
"name": "//SEIBERT/MEDIA",
|
||||
"url": "https://www.seibert-media.net/"
|
||||
},
|
||||
"links": {
|
||||
"documentation": "https://support.draw.io/display/DFCC/draw.io+for+Confluence+Cloud"
|
||||
},
|
||||
"version": "1.4.42",
|
||||
"authentication":
|
||||
{
|
||||
"type": "none"
|
||||
},
|
||||
"modules":
|
||||
{
|
||||
"adminPages": [
|
||||
{
|
||||
"key": "gliffyImport",
|
||||
"url": "/connect/confluence/admin.html",
|
||||
"name": {
|
||||
"value": "draw.io Gliffy Import",
|
||||
"i18n": "gliffyImport"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "lucidImport",
|
||||
"url": "/connect/confluence/lucidMassImport.html",
|
||||
"name": {
|
||||
"value": "draw.io Lucidchart Import",
|
||||
"i18n": "lucidImport"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "drawioConfig",
|
||||
"url": "/connect/confluence/config.html",
|
||||
"name": {
|
||||
"value": "draw.io Configuration",
|
||||
"i18n": "drawConfig"
|
||||
}
|
||||
}
|
||||
],
|
||||
"postInstallPage": {
|
||||
"key": "postInstall",
|
||||
"url": "/connect/confluence/support.html",
|
||||
"name": {
|
||||
"value": "Welcome to draw.io",
|
||||
"i18n": "postinstall"
|
||||
}
|
||||
},
|
||||
"generalPages": [
|
||||
{
|
||||
"key": "lightbox",
|
||||
"location": "hidden",
|
||||
"url": "/connect/confluence/viewer-1-4-42.html?lightbox=1",
|
||||
"name": {
|
||||
"value": "Lightbox",
|
||||
"i18n": "lightbox"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "customContentViewer",
|
||||
"location": "hidden",
|
||||
"url": "/connect/confluence/viewer-1-4-42.html?custom=1&contentId={content.id}",
|
||||
"name": {
|
||||
"value": "draw.io Viewer",
|
||||
"i18n": "drawViewer"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "customContentEditor",
|
||||
"location": "hidden",
|
||||
"url": "/connect/confluence/macroEditor-1-4-8.html?custom=1",
|
||||
"name": {
|
||||
"value": "draw.io Editor",
|
||||
"i18n": "drawEditor"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "macroEditor",
|
||||
"location": "hidden",
|
||||
"url": "/connect/confluence/macroEditor-1-4-8.html",
|
||||
"name": {
|
||||
"value": "draw.io Editor",
|
||||
"i18n": "drawEditor"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "splashEditor",
|
||||
"location": "hidden",
|
||||
"url": "/connect/confluence/splashEditor.html",
|
||||
"name": {
|
||||
"value": "draw.io Splash Editor",
|
||||
"i18n": "drawSplashEditor"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "support",
|
||||
"location": "system.help/pages",
|
||||
"url": "/connect/confluence/support.html",
|
||||
"name": {
|
||||
"value": "draw.io Support",
|
||||
"i18n": "support"
|
||||
}
|
||||
}
|
||||
],
|
||||
"customContent": [{
|
||||
"key": "drawio-diagram",
|
||||
"name": {
|
||||
"value": "draw.io Diagrams",
|
||||
"i18n": "drawDiagrams"
|
||||
},
|
||||
"uiSupport": {
|
||||
"contentViewComponent": {
|
||||
"moduleKey": "customContentViewer"
|
||||
},
|
||||
"icons": {
|
||||
"item": {
|
||||
"url": "/images/drawlogo48.png"
|
||||
}
|
||||
}
|
||||
},
|
||||
"apiSupport": {
|
||||
"supportedContainerTypes": ["page", "comment", "space", "blogpost"],
|
||||
"supportedChildTypes": ["attachment"],
|
||||
"indexing": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"dynamicContentMacros":
|
||||
[
|
||||
{
|
||||
"name":
|
||||
{
|
||||
"i18n": "drawioMacro",
|
||||
"value": "draw.io Diagram"
|
||||
},
|
||||
"url": "/connect/confluence/viewer-1-4-42.html?ceoId=${page.id}&diagramName=${diagramName}&revision=${revision}&width=${width}&height=${height}&tbstyle=${tbstyle}&simple=${simple}&lbox=${lbox}&zoom=${zoom}&links=${links}&owningPageId=${pageId}&displayName=${diagramDisplayName}&contentId={contentId}&custContentId={custContentId}&contentVer={contentVer}&inComment={inComment}&aspect={aspect}&pCenter={pCenter}",
|
||||
"width": "100%",
|
||||
"description":
|
||||
{
|
||||
"i18n": "drawDesc",
|
||||
"value": "Inserts a new draw.io diagram"
|
||||
}, "icon":
|
||||
{
|
||||
"width": 128,
|
||||
"height": 128,
|
||||
"url": "/images/drawlogo128.png"
|
||||
},
|
||||
"categories": [
|
||||
"visuals"
|
||||
],
|
||||
"outputType": "block",
|
||||
"featured": true,
|
||||
"key": "drawio",
|
||||
"parameters":
|
||||
[
|
||||
{
|
||||
"identifier": "diagramName",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram name (do not change)",
|
||||
"i18n": "diagramName"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "autoSize",
|
||||
"name":
|
||||
{
|
||||
"value": "automatic size",
|
||||
"i18n": "automaticSize"
|
||||
},
|
||||
"type": "boolean",
|
||||
"defaultValue": "true"
|
||||
},
|
||||
{
|
||||
"identifier": "PageId",
|
||||
"name":
|
||||
{
|
||||
"value": "Parent page ID",
|
||||
"i18n": "pPageID"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "baseUrl",
|
||||
"name":
|
||||
{
|
||||
"value": "Confluence Base URL",
|
||||
"i18n": "baseUrl"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "width",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram width",
|
||||
"i18n": "dWidth"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"identifier": "height",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram height",
|
||||
"i18n": "dHeight"
|
||||
},
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"editor": {
|
||||
"url": "/connect/confluence/initEditor.html?ceoId=${page.id}&diagramName=${diagramName}",
|
||||
"width": "100%",
|
||||
"height": "100%",
|
||||
"editTitle":
|
||||
{
|
||||
"value" : "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"
|
||||
},
|
||||
"insertTitle":
|
||||
{
|
||||
"value" : "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"
|
||||
}
|
||||
},
|
||||
"imagePlaceholder": {
|
||||
"width": 500,
|
||||
"height": 300,
|
||||
"url": "/connectImage",
|
||||
"applyChrome": true
|
||||
},
|
||||
"renderModes": {
|
||||
"default": {
|
||||
"url": "/connectRender?pageId=${page.id}&diagramName=${diagramName}&tempPreview=${tempPreview}&width=${width}&height=${height}&zoom=${zoom}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name":
|
||||
{
|
||||
"i18n": "incDrawioMacro",
|
||||
"value": "Embed draw.io Diagram"
|
||||
},
|
||||
"url": "/connect/confluence/viewer-1-4-42.html?linked=1&ceoId=${page.id}&imgPageId=${imgPageId}&diagramName=${diagramName}&revision=${revision}&width=${width}&height=${height}&tbstyle=${tbstyle}&simple=${simple}&lbox=${lbox}&zoom=${zoom}&links=${links}&owningPageId=${pageId}&displayName=${diagramDisplayName}&contentId=${contentId}&custContentId={custContentId}&contentVer=${contentVer}&diagramUrl=${diagramUrl}&csvFileUrl=${csvFileUrl}&aspect=${aspect}&aspectHash=${aspectHash}&attVer=${attVer}&service=${service}&sFileId=${sFileId}&odriveId=${odriveId}",
|
||||
"width": "100%",
|
||||
"description":
|
||||
{
|
||||
"i18n": "embedDesc",
|
||||
"value": "Embed an existing draw.io diagram"
|
||||
}, "icon":
|
||||
{
|
||||
"width": 128,
|
||||
"height": 128,
|
||||
"url": "/images/drawlogo128.png"
|
||||
},
|
||||
"categories": [
|
||||
"visuals"
|
||||
],
|
||||
"outputType": "block",
|
||||
"featured": true,
|
||||
"key": "inc-drawio",
|
||||
"parameters":
|
||||
[
|
||||
{
|
||||
"identifier": "diagramName",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram name (do not change)",
|
||||
"i18n": "diagramName"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "autoSize",
|
||||
"name":
|
||||
{
|
||||
"value": "automatic size",
|
||||
"i18n": "automaticSize"
|
||||
},
|
||||
"type": "boolean",
|
||||
"defaultValue": "true"
|
||||
},
|
||||
{
|
||||
"identifier": "PageId",
|
||||
"name":
|
||||
{
|
||||
"value": "Parent page ID",
|
||||
"i18n": "pPageID"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "baseUrl",
|
||||
"name":
|
||||
{
|
||||
"value": "Confluence Base URL",
|
||||
"i18n": "baseUrl"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "width",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram width",
|
||||
"i18n": "dWidth"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"identifier": "height",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram height",
|
||||
"i18n": "dHeight"
|
||||
},
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"editor": {
|
||||
"url": "/connect/confluence/includeDiagram.html",
|
||||
"width": "80%",
|
||||
"height": "60%"
|
||||
},
|
||||
"imagePlaceholder": {
|
||||
"width": 500,
|
||||
"height": 300,
|
||||
"url": "/connectImage",
|
||||
"applyChrome": true
|
||||
},
|
||||
"renderModes": {
|
||||
"default": {
|
||||
"url": "/connectRender?pageId=${pageId}&imgPageId=${imgPageId}&diagramName=${diagramName}&tempPreview=${tempPreview}&width=${width}&height=${height}&zoom=${zoom}&aspectHash={aspectHash}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name":
|
||||
{
|
||||
"i18n": "legacyDrawioMacro",
|
||||
"value": "Legacy macro - do not use"
|
||||
},
|
||||
"url": "/connect/confluence/viewer.html?ceoId=${page.id}&diagramName=${diagramName}&revision=${revision}&width=${width}&height=${height}",
|
||||
"width": "100%",
|
||||
"description":
|
||||
{
|
||||
"i18n": "legacyDesc",
|
||||
"value": "Do not use"
|
||||
}, "icon":
|
||||
{
|
||||
"width": 80,
|
||||
"height": 80,
|
||||
"url": "/images/stop-flat-icon-80.png"
|
||||
},
|
||||
"categories": [
|
||||
"visuals"
|
||||
],
|
||||
"outputType": "block",
|
||||
"featured": false,
|
||||
"key": "drawio-macro",
|
||||
"parameters":
|
||||
[
|
||||
{
|
||||
"identifier": "diagramName",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram name (do not change)",
|
||||
"i18n": "diagramName"
|
||||
},
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"multiple": false,
|
||||
"defaultValue": "None"
|
||||
},
|
||||
{
|
||||
"identifier": "autoSize",
|
||||
"name":
|
||||
{
|
||||
"value": "automatic size",
|
||||
"i18n": "automaticSize"
|
||||
},
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"identifier": "PageId",
|
||||
"name":
|
||||
{
|
||||
"value": "Parent page ID",
|
||||
"i18n": "pPageID"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"identifier": "baseUrl",
|
||||
"name":
|
||||
{
|
||||
"value": "Confluence Base URL",
|
||||
"i18n": "baseUrl"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"identifier": "width",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram width",
|
||||
"i18n": "dWidth"
|
||||
},
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"identifier": "height",
|
||||
"name":
|
||||
{
|
||||
"value": "Diagram Height",
|
||||
"i18n": "dHeight"
|
||||
},
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"editor": {
|
||||
"url": "/connect/confluence/macroEditor.html?ceoId=${page.id}&diagramName=${diagramName}",
|
||||
"editTitle": {
|
||||
"value": "Edit Markdown",
|
||||
"i18n": "macro.md.edit"
|
||||
},
|
||||
"insertTitle": {
|
||||
"value": "Insert Markdown",
|
||||
"i18n": "macro.md.insert"
|
||||
},
|
||||
"width": "100%",
|
||||
"height": "100%"
|
||||
},
|
||||
"imagePlaceholder": {
|
||||
"width": 500,
|
||||
"height": 300,
|
||||
"url": "/connectImage",
|
||||
"applyChrome": true
|
||||
},
|
||||
"renderModes": {
|
||||
"default": {
|
||||
"url": "/connectRender?pageId=${page.id}&diagramName=${diagramName}&revision=${revision}&tempPreview=${tempPreview}"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"scopes": [
|
||||
"read",
|
||||
"write",
|
||||
"delete"
|
||||
],
|
||||
"translations": {
|
||||
"paths": {
|
||||
"en-US": "/connect/confluence/i18n/en.json",
|
||||
"fr-FR": "/connect/confluence/i18n/fr_FR.json",
|
||||
"de-DE": "/connect/confluence/i18n/de_DE.json",
|
||||
"ja-JP": "/connect/confluence/i18n/ja_JP.json",
|
||||
"ko-KR": "/connect/confluence/i18n/ko_KR.json",
|
||||
"es-ES": "/connect/confluence/i18n/es_ES.json",
|
||||
"ru-RU": "/connect/confluence/i18n/ru_RU.json"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Konfiguration",
|
||||
"drawDiagrams": "draw.io Diagramme",
|
||||
"drawioMacro": "draw.io Diagramm",
|
||||
"drawDesc": "Fügt eine neues draw.io Diagramm ein",
|
||||
"incDrawioMacro": "draw.io Diagramm einbetten",
|
||||
"embedDesc": "Bestehendes draw.io Diagramm einbetten",
|
||||
"legacyDrawioMacro": "Legacy Makro - bitte nicht verwenden",
|
||||
"legacyDesc": "Bitte nicht verwenden",
|
||||
"lightbox": "Vollbild",
|
||||
"drawViewer": "draw.io Ansicht",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Startbildschirm Editor",
|
||||
"diagramName": "Diagrammname (bitte nicht ändern)",
|
||||
"automaticSize": "automatische Grösse",
|
||||
"pPageID": "ID der übergeordneten Seite",
|
||||
"baseUrl": "Confluence Basis URL",
|
||||
"dWidth": "Diagrammbreite",
|
||||
"dHeight": "Diagrammhöhe",
|
||||
"macro.md.edit": "Markdown bearbeiten",
|
||||
"macro.md.insert": "Markdown einfügen"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit Markdown",
|
||||
"macro.md.insert": "Insert Markdown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"gliffyImport": "draw.io Gliffy Import",
|
||||
"drawConfig": "draw.io Configuration",
|
||||
"drawDiagrams": "draw.io Diagrams",
|
||||
"drawioMacro": "draw.io Diagram",
|
||||
"drawDesc": "Inserts a new draw.io diagram",
|
||||
"incDrawioMacro": "Embed draw.io diagram",
|
||||
"embedDesc": "Embed an existing draw.io diagram",
|
||||
"legacyDrawioMacro": "Legacy macro - do not use",
|
||||
"legacyDesc": "Do not use",
|
||||
"lightbox": "Lightbox",
|
||||
"drawViewer": "draw.io Viewer",
|
||||
"drawEditor": "draw.io Editor",
|
||||
"drawSplashEditor": "draw.io Splash Editor",
|
||||
"diagramName": "Diagram name (do not change)",
|
||||
"automaticSize": "automatic size",
|
||||
"pPageID": "Parent page ID",
|
||||
"baseUrl": "Confluence Base URL",
|
||||
"dWidth": "Diagram width",
|
||||
"dHeight": "Diagram height",
|
||||
"macro.md.edit": "Edit MarkDown",
|
||||
"macro.md.insert": "Insert New MarkDown"
|
||||
}
|