Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/CometVisu/CometVisu into…
Browse files Browse the repository at this point in the history
… design_ceramic
  • Loading branch information
ChristianMayer committed Nov 25, 2018
2 parents 3eb8718 + 9d56faf commit 91d5db9
Show file tree
Hide file tree
Showing 40 changed files with 11,314 additions and 391 deletions.
144 changes: 96 additions & 48 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,60 +10,108 @@ cache:
- node_modules
- "$HOME/.cache/pip"
- downloads
env:
- CV_BUILD="test" CV_BROWSER=Chrome_travis CV_VERSION=stable
- CV_BUILD="test" CV_BROWSER=Chrome_travis CV_VERSION=beta
- CV_BUILD="test" CV_BROWSER=Chrome_travis CV_VERSION=unstable
- CV_BUILD="docs" ENCRYPTION_LABEL="4c79fec0aeb9" COMMIT_AUTHOR_EMAIL="generator@cometvisu.org" CV_BROWSER=Chrome_travis CV_VERSION=stable
before_install:
- if [ "$CV_BUILD" == "docs" ]; then docker pull cometvisu/dev-helper; fi
- mkdir -p downloads
- nvm install 6.9
- sudo ./utils/travis/browser-setup.sh
- export CHROME_BIN=`pwd`/chrome/google-chrome
- export PATH=`pwd`/firefox:`pwd`/chrome:$PATH
- google-chrome --version
- firefox --version
- mkdir cache
install:
- npm install -g grunt-cli
- npm install
- sudo pip install -r utils/requirements.txt
- virtualenv -p /usr/bin/python2.7 --distribute temp-python --system-site-packages
- source temp-python/bin/activate
- if [ "$CV_BUILD" == "test" ]; then ./generate.py source -sI; fi
- if [ "$CV_BUILD" == "docs" ]; then ./generate.py build -sI; fi
- deactivate
- "./node_modules/protractor/bin/webdriver-manager update"
- if [ "$CV_BUILD" == "docs" ]; then sudo apt-get install python-lxml python3-lxml; fi
script:
- if [ "$CV_BUILD" == "test" ]; then source temp-python/bin/activate; fi
- if [ "$CV_BUILD" == "test" ]; then grunt jscs; fi
- if [ "$CV_BUILD" == "test" ]; then ./generate.py lint; fi
- if [ "$CV_BUILD" == "test" ]; then deactivate; fi
- export PATH=`pwd`/firefox:$PATH
- if [ "$CV_BUILD" == "test" ]; then grunt karma:travis --browser $CV_BROWSER; fi
- if [ "$CV_BUILD" == "test" ] && [ "$CV_BROWSER" == "Chrome_travis" ]; then grunt e2e-chrome; fi
- if [ "$CV_BUILD" == "docs" ]; then utils/travis/deploy.sh; fi
after_success:
- if [ "$CV_BUILD" == "test" ] && [ "$CV_VERSION" == "stable" ] ; then grunt coveralls; fi
- "CLIENT_CHANGES=`git log --pretty=format: --name-only --since=\"1 days ago\" ${TRAVIS_BUILD_DIR}/client/ | sort | uniq | sed '/^$/d' | wc -l`"
- "CORE_CHANGES=`git log --pretty=format: --name-only --since=\"1 days ago\" ${TRAVIS_BUILD_DIR}/source/ | sort | uniq | sed '/^$/d' | wc -l`"
- echo "$CORE_CHANGES changes in core, $CLIENT_CHANGES changes in client, $CV_BUILD build, $CV_VERSION version, $TRAVIS_EVENT_TYPE event type"
- export DEPLOY_NIGHTLY=0
- if [[ $CV_BUILD == test && $CV_VERSION == stable && $TRAVIS_EVENT_TYPE == cron && ($CORE_CHANGES -gt 0 || $CLIENT_CHANGES -gt 0) ]]; then export DEPLOY_NIGHTLY=1; fi
- if [[ $CV_BUILD == test && $CV_VERSION == stable && ${TRAVIS_COMMIT_MESSAGE:0:12} = "[ci nightly]" ]]; then export DEPLOY_NIGHTLY=1; export CORE_CHANGES=1; fi
before_deploy:
- if [ $CORE_CHANGES -gt 0 ]; then grunt release-cv; fi
- if [ $CLIENT_CHANGES -gt 0 ]; then grunt release-client; fi
deploy:
on:
branch: develop
condition: $DEPLOY_NIGHTLY = 1
provider: bintray
file: "./deploy.json"
user: peuter
key:
secure: dnqHD0ynwCvyxeniG5ee+ImtnQPP02c4WkV8EVgVwSKcEQ5xtdlfy9/6M4znDMlEKcfwvUr9O8JVtrmTqyLNlcwxiIgnrzfIUBrzwPRhSrDgAbUUHOy4bpES58rGKZvwvavhaRhMnd5nQivG4w7ltKdVX4MY8ht4gGLVIlK5RSA=
dry-run: false
skip_cleanup: true
stages:
- name: lint
- name: test
- name: deploy
if: repo = CometVisu/CometVisu AND (NOT type IN (pull_request)) AND ( branch = develop OR tag =~ ^v[0-9] )
jobs:
include:
- stage: lint
name: Lint
script:
- source temp-python/bin/activate
- "./generate.py lint"
- stage: test
name: 'Unit Tests: Chrome stable'
env: CV_BUILD=test CV_BROWSER=Chrome_travis CV_VERSION=stable
script: &1
- sudo ./utils/travis/browser-setup.sh
- export CHROME_BIN=`pwd`/chrome/google-chrome
- export PATH=`pwd`/firefox:`pwd`/chrome:$PATH
- google-chrome --version
- source temp-python/bin/activate
- "./generate.py source -sI"
- deactivate
- grunt karma:travis --browser=$CV_BROWSER
- if [ "$CV_BUILD" == "test" ] && [ "$CV_VERSION" == "stable" ] ; then grunt coveralls; fi
- stage: test
name: 'Unit Tests: Chrome beta'
env: CV_BUILD=test CV_BROWSER=Chrome_travis CV_VERSION=beta
script: *1
- stage: test
name: 'Unit Tests: Chrome unstable'
env: CV_BUILD=test CV_BROWSER=Chrome_travis CV_VERSION=unstable
script: *1
- name: 'End-to-end Tests: Chrome stable'
env: CV_BUILD=test CV_BROWSER=Chrome_travis CV_VERSION=stable
script: &2
- sudo ./utils/travis/browser-setup.sh
- export CHROME_BIN=`pwd`/chrome/google-chrome
- source temp-python/bin/activate
- "./generate.py source -sI"
- deactivate
- "node ./node_modules/protractor/bin/webdriver-manager update --gecko=false"
- grunt e2e-chrome
- name: 'End-to-end Tests: Chrome beta'
env: CV_BUILD=test CV_BROWSER=Chrome_travis CV_VERSION=beta
script: *2
- name: 'End-to-end Tests: Chrome unstable'
env: CV_BUILD=test CV_BROWSER=Chrome_travis CV_VERSION=unstable
script: *2
- stage: deploy
name: "[DOCS] - Generate and publish manual and API-viewer"
env: CV_BUILD=docs ENCRYPTION_LABEL=4c79fec0aeb9 COMMIT_AUTHOR_EMAIL=generator@cometvisu.org CV_BROWSER=Chrome_travis CV_VERSION=stable
script:
- docker pull cometvisu/dev-helper
- source temp-python/bin/activate
- "./generate.py build -sI"
- deactivate
- "node ./node_modules/protractor/bin/webdriver-manager update --gecko=false"
- sudo apt-get install python-lxml python3-lxml
- utils/travis/deploy.sh
- name: "[NIGHTLY] - Build and push Nightly Build"
if: type = cron OR commit_message =~ /^\[ci nightly\].*/
script: &3
- 'CLIENT_CHANGES=`git log --pretty=format: --name-only --since="1 days ago" ${TRAVIS_BUILD_DIR}/client/ | sort | uniq | sed ''/^$/d'' | wc -l`'
- 'CORE_CHANGES=`git log --pretty=format: --name-only --since="1 days ago" ${TRAVIS_BUILD_DIR}/source/ | sort | uniq | sed ''/^$/d'' | wc -l`'
- export DEPLOY_NIGHTLY=0
- if [[ ($CORE_CHANGES -gt 0 || $CLIENT_CHANGES -gt 0) ]]; then export DEPLOY_NIGHTLY=1; fi
- if [[ ${TRAVIS_COMMIT_MESSAGE:0:12} = "[ci nightly]" ]]; then export DEPLOY_NIGHTLY=1; export CORE_CHANGES=1; fi
- echo "$CORE_CHANGES changes in core, $CLIENT_CHANGES changes in client, nighlies $DEPLOY_NIGHTLY, $TRAVIS_EVENT_TYPE event type"
before_deploy:
- if [ $CORE_CHANGES -gt 0 ]; then grunt release-cv; fi
- if [ $CLIENT_CHANGES -gt 0 ]; then grunt release-client; fi
deploy:
on:
branch: develop
condition: "$DEPLOY_NIGHTLY = 1"
provider: bintray
file: "./deploy.json"
user: peuter
key:
secure: dnqHD0ynwCvyxeniG5ee+ImtnQPP02c4WkV8EVgVwSKcEQ5xtdlfy9/6M4znDMlEKcfwvUr9O8JVtrmTqyLNlcwxiIgnrzfIUBrzwPRhSrDgAbUUHOy4bpES58rGKZvwvavhaRhMnd5nQivG4w7ltKdVX4MY8ht4gGLVIlK5RSA=
dry-run: false
skip_cleanup: true
- name: "[DOCKER] - Build and push Docker Container"
if: fork = false AND type != cron
script: skip
before_deploy:
- grunt release-cv
- mv release build # move back to build because the dockerfile is expecting the build here
deploy:
on:
all_branches: true
condition: $TRAVIS_BRANCH =~ ^master|develop$
provider: script
script: utils/travis/docker_push.sh
skip_cleanup: true
36 changes: 36 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# The base for this container is defined at
# https://github.com/CometVisu/Docker/tree/master/CometVisuBase
# and available in the DockerHub at
# https://hub.docker.com/r/cometvisu/cometvisuabstractbase/
FROM cometvisu/cometvisuabstractbase:latest

# Not required but makes the debugging work a bit more easy (might be removed in future):
RUN { \
echo "export LS_OPTIONS='--color=auto'"; \
echo "eval \"`dircolors`\""; \
echo "alias ls='ls \$LS_OPTIONS'"; \
echo "alias ll='ls \$LS_OPTIONS -l'"; \
echo "alias l='ls \$LS_OPTIONS -lA'"; \
} | tee -a "/root/.bashrc"

# Fill the labels to keep build information:
ARG TRAVIS_JOB_NUMBER
ARG TRAVIS_JOB_WEB_URL
ARG TRAVIS_BUILD_WEB_URL
ARG BUILD_DATE
ARG VCS_REF
ARG VERSION_TAG

# Own labels
LABEL org.cometvisu.travis-job-number=$TRAVIS_JOB_NUMBER
LABEL org.cometvisu.travis-job-web-url=$TRAVIS_JOB_WEB_URL
LABEL org.cometvisu.travis-build-web-url=$TRAVIS_BUILD_WEB_URL
# Labels according to http://label-schema.org/rc1/
LABEL org.label-schema.build-date=$BUILD_DATE
LABEL org.label-schema.vcs-ref=$VCS_REF
LABEL org.label-schema.version=$VERSION_TAG

# Fill the web root with the current build:
COPY build/ /var/www/html/

VOLUME /var/www/html/resource/config
30 changes: 3 additions & 27 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -186,29 +186,6 @@ module.exports = function(grunt) {
}
},

// check coding-style: https://github.com/CometVisu/CometVisu/wiki/Coding-style
jscs: {
main: {
options: {
excludeFiles: [ "**/lib/**", "**/dep/**"],
//preset: "jquery",
validateIndentation: 2,
validateLineBreaks: "LF",
fix: false
//maximumLineLength : {
// value: 120,
// allExcept: [
// "comments",
// "functionSignature"
// ]
//}
},
files: {
src: sourceFiles
}
}
},

// make a zipfile
compress: {
tar: {
Expand Down Expand Up @@ -377,7 +354,7 @@ module.exports = function(grunt) {
configFile: 'karma.conf.js',
singleRun: !grunt.option('no-single'),
browsers: [grunt.option('browser') || 'Chrome'],
reporters: ['progress']
reporters: ['spec']
}
},

Expand Down Expand Up @@ -484,7 +461,7 @@ module.exports = function(grunt) {
buildClient: {
command: [
'cd client',
'./generate.py build',
'./generate.py build -sI',
'cd ..'
].join('&&')
},
Expand All @@ -498,7 +475,7 @@ module.exports = function(grunt) {
command: './generate.py lint'
},
build: {
command: './generate.py build'
command: './generate.py build -sI'
}
},

Expand Down Expand Up @@ -601,7 +578,6 @@ module.exports = function(grunt) {
});

// Load the plugin tasks
grunt.loadNpmTasks("grunt-jscs");
grunt.loadNpmTasks('grunt-banner');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.loadNpmTasks('grunt-github-releaser');
Expand Down
File renamed without changes
57 changes: 57 additions & 0 deletions doc/manual/de/config/hidden-config.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
.. _hidden-config:

Versteckte Konfigurationen
==========================

Hintergrund
-----------

Die "Versteckten Konfigurationen" sind Konfigurationsdaten die nicht an den Client übertragen werden und auf dem
Server bleiben. Daher werden diese vor dem Anwender "versteckt", sind aber auf dem Server selbst im Klartext lesbar.
Auch im Manager sind diese Informationen im Klartext lesbar.

Dies erzeugt für sich noch keine sichere Umgebung. Jedoch lässt sich hierdurch eine sichere Umgebung aufbauen, in
dem der Webserver so konfiguriert sein muss, dass der Anwender keinen Zugriff auf den Manager erhält.

Ob und in welcher Form Widgets und Plugins Informationen aus der versteckten
Konfiguration benötigen wird in deren jeweiligen Dokumentation beschrieben.

Aufbau
------

Die versteckten Konfigurationen werden in der Datei ``config/hidden.php`` abgelegt. Diese Datei kann sowohl
über einen normalen Text-Editor als auch über den :ref:`Manager <manager>` editiert werden.

Der Inhalt besteht aus mehreren Einträgen die einen `Name` mit mehreren `Schlüssel` und `Wert` Paaren enthalten.
In der Datei selbst werden diese Informationen als PHP Array abgelegt:

.. code-block:: php
<?php
// File for configurations that shouldn't be shared with the user
$hidden = array(
'fritzbox' => array('uri' => 'https://192.168.0.1:49443/', 'user' => 'CometVisuTestUser', 'pass' => 'pa3bvNM4j9z4')
'influx' => array('user' => 'InfluxDBTestUser', 'pass' => 'Xsdwfw324SEs')
);
?>
Manager
-------

Komfortabel lässt sich der Inhalt der versteckten Konfiguration über den :ref:`Manager <manager>` editieren.

.. figure:: _static/hidden_config_de.png

Bekannte ``Name`` Einträge
--------------------------

Auch wenn die Wahl für den ``Name`` grundsätzlich frei ist, so gibt es dafür übliche Einträge, bei denen es sich
anbietet diesem Schema zu folgen. So können manche Widgets bzw. Plugins ohne eine explizite Konfiguration in dem
für dafür üblichen Namen nach Einträgen suchen, wodurch sich der Konfigurations-Aufwand reduzieren lässt.

======== ============== =======
Name Verwendung Default
======== ============== =======
fritzbox :ref:`tr064`
influx :ref:`diagram` X
======== ============== =======
6 changes: 6 additions & 0 deletions doc/manual/de/config/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ Allgemeine Informationen über das CometVisu XML Format findet man
:doc:`hier <xml-format>`, Informationen zu den einzelnen
Widgets in den jeweiligen Unterseiten.

Manche Widgets und Plugins benötigen noch zusätzliche Informationen, die nicht in der Config-Datei enthalten sein
sollen, da diese frei lesbar an den Web-Browser übertragen wird (je nach installierter Umgebung kann der Transport
verschlüsselt mit HTTPS erfolgen, jedoch ist der Inhalt durch den Benutzer am Browser mit entsprechenden Tricks
lesbar). Durch die Verwendung der :doc:`Versteckten Konfigurationen <hidden-config>` können diese Informationen auf dem besser
geschützten Server verbleiben.

Nach dem Speichern ist keinerlei Neustart von Prozessen nötig, jedoch
sollte man die Seite neu laden und den Browser-Cache löschen.

Expand Down
14 changes: 14 additions & 0 deletions doc/manual/de/config/widgets/plugins/diagram/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,20 @@ Erlaubte Kind-Elemente und deren Attribute

.. elements-information:: diagram

Im ``<influx>`` Element kann über das ``authentication`` Attribut auf einen entsprechenden Eintrag aus der
:ref:`versteckten Konfiguration <hidden-config>` verwiesen werden (als Default wird als Name `influx` angenommen).

Die in der versteckte Konfiguration verwendeten Schlüssel/Wert-Paare sind:

+---------+---------------------------------------------------+---------------------------+
|Schlüssel|Wert |Beispiel |
+=========+===================================================+===========================+
|uri |Die URI für den Zugriff auf die InfluxDB (optional)|http://localhost:8086/query|
+---------+---------------------------------------------------+---------------------------+
|user |Der Benutzername für die InfluxDB |InfluxDBTestUser |
+---------+---------------------------------------------------+---------------------------+
|pass |Das Passwort für die InfluxDB |`Xsdwfw324SEs` |
+---------+---------------------------------------------------+---------------------------+

XML Syntax minimal
------------------
Expand Down
33 changes: 12 additions & 21 deletions doc/manual/de/config/widgets/plugins/tr064/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -144,32 +144,23 @@ Der Benutzer selbst benötigt noch die Rechte um auf die Anrufliste zugreifen zu

.. figure:: _static/fritzbox_user.png

Damit das Plugin auf diesen Benutzer zugreifen kann, müssen dessen Login-Daten hinterlegt werden. Dies geht im Manager
im Bereich der "Versteckten Konfigurationen"[#f2]_:

.. figure:: _static/hidden_config_de.png
Damit das Plugin auf diesen Benutzer zugreifen kann, müssen dessen Login-Daten hinterlegt werden. Dies geht über die
:ref:`"Versteckten Konfigurationen" <hidden-config>`.

Der dort verwendete Name muss im calllist Widget im Attribut ``device`` angegeben werden.

Alternativ zum Manager lässt sich auch direkt die Datei ``config/hidden.php`` editieren und eine Konfigurationszeile
hinzufügen:

.. code-block:: php
Die in der versteckte Konfiguration verwendeten Schlüssel/Wert-Paare sind:

<?php
// File for configurations that shouldn't be shared with the user
$hidden = array(
'fritzbox' => array('uri' => 'https://192.168.0.1:49443/', 'user' => 'CometVisuTestUser', 'pass' => 'pa3bvNM4j9z4')
);
?>
+---------+-----------------------------------------------------+--------------------------+
|Schlüssel|Wert |Beispiel |
+=========+=====================================================+==========================+
|uri |Die URI für den Zugriff auf die TR-064 Schnittstelle |https://192.168.0.1:49443/|
+---------+-----------------------------------------------------+--------------------------+
|user |Der Benutzername für den TR-064 Zugang |CometVisuTestUser |
+---------+-----------------------------------------------------+--------------------------+
|pass |Das Passwort für den TR-64 Zugang |`pa3bvNM4j9z4` |
+---------+-----------------------------------------------------+--------------------------+

.. rubric:: Fußnoten

.. [#f1] In der vereinfachten Ansicht sind ggf. einige Dinge ausgeblendet. In der Expertenansicht ist alles zu sehen.
.. [#f2] Die "Versteckte Konfiguration" sind Konfigurationsdaten die nicht an den Client übertragen werden und auf dem
Server bleiben. Daher werden diese vor dem Anwender "versteckt", sind aber auf dem Server selbst im Klartext lesbar.
Auch im Manager sind diese Informationen im Klartext lesbar.
Dies erzeugt für sich noch keine sichere Umgebung. Jedoch lässt sich hierdurch eine Sichere Umgebung aufbauen, in
dem der Webserver so konfiguriert sein muss, dass der Anwender keinen Zugriff auf den Manager erhält.
2 changes: 1 addition & 1 deletion external/qooxdoo
Submodule qooxdoo updated 76 files
+23 −12 .travis.yml
+1 −1 .travis/coverage
+14 −2 .travis/test
+10 −1 framework/karma.conf.js
+1 −0 framework/package.json
+7 −0 framework/source/class/qx/Class.js
+32 −1 framework/source/class/qx/Promise.js
+9 −2 framework/source/class/qx/Theme.js
+1 −1 framework/source/class/qx/bom/IframeHistory.js
+1 −1 framework/source/class/qx/bom/Stylesheet.js
+1 −1 framework/source/class/qx/bom/client/Stylesheet.js
+1 −1 framework/source/class/qx/data/Array.js
+83 −3 framework/source/class/qx/data/controller/List.js
+4 −1 framework/source/class/qx/data/controller/MSelection.js
+13 −1 framework/source/class/qx/data/marshal/IMarshalerDelegate.js
+19 −1 framework/source/class/qx/data/marshal/Json.js
+38 −6 framework/source/class/qx/dev/Debug.js
+1 −1 framework/source/class/qx/dev/unit/AbstractTestSuite.js
+1 −1 framework/source/class/qx/dev/unit/JsUnitTestResult.js
+1 −1 framework/source/class/qx/dev/unit/MRequirementsBasic.js
+2 −2 framework/source/class/qx/dev/unit/MTestLoader.js
+3 −3 framework/source/class/qx/dev/unit/TestFunction.js
+4 −4 framework/source/class/qx/dev/unit/TestResult.js
+1 −1 framework/source/class/qx/event/Manager.js
+4 −3 framework/source/class/qx/event/handler/DragDrop.js
+1 −72 framework/source/class/qx/event/handler/Keyboard.js
+10 −1 framework/source/class/qx/event/message/Message.js
+2 −2 framework/source/class/qx/html/Element.js
+1 −1 framework/source/class/qx/io/part/ClosurePart.js
+1 −1 framework/source/class/qx/io/part/Part.js
+2 −2 framework/source/class/qx/io/remote/RequestQueue.js
+1 −1 framework/source/class/qx/locale/LocalizedString.js
+33 −0 framework/source/class/qx/test/Promise.js
+1 −1 framework/source/class/qx/test/bom/GeoLocation.js
+25 −7 framework/source/class/qx/test/data/marshal/Json.js
+1 −1 framework/source/class/qx/test/data/store/Json.js
+1 −1 framework/source/class/qx/test/io/part/ClosurePart.js
+1 −1 framework/source/class/qx/test/io/part/Part.js
+4 −0 framework/source/class/qx/test/ui/embed/Flash.js
+5 −3 framework/source/class/qx/test/ui/form/VirtualSelectBox.js
+4 −4 framework/source/class/qx/type/BaseArray.js
+22 −20 framework/source/class/qx/ui/basic/Image.js
+15 −9 framework/source/class/qx/ui/core/Blocker.js
+10 −10 framework/source/class/qx/ui/core/MChildrenHandling.js
+1 −1 framework/source/class/qx/ui/core/MLayoutHandling.js
+20 −2 framework/source/class/qx/ui/core/MMultiSelectionHandling.js
+14 −14 framework/source/class/qx/ui/core/MRemoteChildrenHandling.js
+16 −16 framework/source/class/qx/ui/core/Widget.js
+1 −1 framework/source/class/qx/ui/form/AbstractSelectBox.js
+8 −11 framework/source/class/qx/ui/form/MModelSelection.js
+22 −1 framework/source/class/qx/ui/form/SelectBox.js
+1 −1 framework/source/class/qx/ui/layout/HBox.js
+2 −2 framework/source/class/qx/ui/list/core/IListDelegate.js
+2 −2 framework/source/class/qx/ui/menu/Menu.js
+9 −9 framework/source/class/qx/ui/mobile/core/MChildrenHandling.js
+14 −14 framework/source/class/qx/ui/mobile/core/Widget.js
+1 −0 framework/source/class/qx/ui/mobile/form/CheckBox.js
+1 −0 framework/source/class/qx/ui/mobile/form/RadioButton.js
+1 −0 framework/source/class/qx/ui/mobile/form/TextArea.js
+1 −0 framework/source/class/qx/ui/mobile/form/ToggleButton.js
+1 −1 framework/source/class/qx/ui/table/Table.js
+1 −1 framework/source/class/qx/ui/table/pane/FocusIndicator.js
+10 −10 framework/source/class/qx/ui/tree/core/AbstractTreeItem.js
+1 −1 framework/source/class/qx/ui/tree/core/IVirtualTreeDelegate.js
+7 −7 framework/source/class/qx/ui/virtual/core/Pane.js
+1 −1 framework/source/class/qx/ui/virtual/selection/Abstract.js
+1 −1 framework/source/class/qx/ui/window/Desktop.js
+6 −6 framework/source/class/qx/ui/window/IWindowManager.js
+2 −2 framework/source/class/qx/ui/window/Window.js
+23 −11 framework/source/class/qx/util/DynamicScriptLoader.js
+13 −0 uitests/selectbox/.gitignore
+34 −0 uitests/selectbox/Manifest.json
+37 −0 uitests/selectbox/compile.json
+92 −0 uitests/selectbox/source/class/selectbox/Application.js
+104 −0 uitests/selectbox/source/class/selectbox/Issue9569Application.js
+0 −0 uitests/selectbox/source/translation/en.po
Loading

0 comments on commit 91d5db9

Please sign in to comment.