From efd121d7e31f0ed8ba0ec81f9e56e37947dae65a Mon Sep 17 00:00:00 2001 From: Eike Cochu <eike@cochu.com> Date: Fri, 22 Jan 2016 15:14:27 +0100 Subject: [PATCH] converted ui project to dynamic web project ui is dynamic web project for export to war file (is static though) added sass plugin for ember --- ma-impl.sublime-workspace | 146 ++---------------- vipra-ui/.classpath | 11 ++ vipra-ui/.project | 25 +++ vipra-ui/.settings/.jsdtscope | 12 ++ vipra-ui/.settings/org.eclipse.jdt.core.prefs | 7 + .../org.eclipse.wst.common.component | 8 + ....eclipse.wst.common.project.facet.core.xml | 9 ++ ...rg.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + .../org.eclipse.wst.validation.prefs | 3 + vipra-ui/app/index.html | 3 +- vipra-ui/app/styles/app.css | 8 - vipra-ui/app/styles/app.scss | 21 +++ vipra-ui/app/templates/application.hbs | 29 ++++ vipra-ui/app/templates/index.hbs | 5 - vipra-ui/app/templates/loading.hbs | 5 +- vipra-ui/ember-cli-build.js | 8 +- vipra-ui/package.json | 1 + vipra-ui/public/assets/images/squares.gif | Bin 0 -> 27920 bytes vipra-ui/webapp/WEB-INF/web.xml | 8 + 20 files changed, 158 insertions(+), 153 deletions(-) create mode 100644 vipra-ui/.classpath create mode 100644 vipra-ui/.settings/.jsdtscope create mode 100644 vipra-ui/.settings/org.eclipse.jdt.core.prefs create mode 100644 vipra-ui/.settings/org.eclipse.wst.common.component create mode 100644 vipra-ui/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.name delete mode 100644 vipra-ui/app/styles/app.css create mode 100644 vipra-ui/app/styles/app.scss create mode 100644 vipra-ui/public/assets/images/squares.gif create mode 100644 vipra-ui/webapp/WEB-INF/web.xml diff --git a/ma-impl.sublime-workspace b/ma-impl.sublime-workspace index 2a683681..bcf2ba25 100644 --- a/ma-impl.sublime-workspace +++ b/ma-impl.sublime-workspace @@ -275,30 +275,6 @@ }, "buffers": [ - { - "file": "vipra-ui/app/routes/words/show.js", - "settings": - { - "buffer_size": 178, - "line_ending": "Unix" - } - }, - { - "file": "vipra-ui/ember-cli-build.js", - "settings": - { - "buffer_size": 881, - "line_ending": "Unix" - } - }, - { - "file": "vipra-ui/app/templates/index.hbs", - "settings": - { - "buffer_size": 145, - "line_ending": "Unix" - } - } ], "build_system": "", "build_system_choices": @@ -477,24 +453,18 @@ }, "expanded_folders": [ - "/home/eike/repos/master/ma-impl", - "/home/eike/repos/master/ma-impl/vipra-ui", - "/home/eike/repos/master/ma-impl/vipra-ui/app", - "/home/eike/repos/master/ma-impl/vipra-ui/app/components", - "/home/eike/repos/master/ma-impl/vipra-ui/app/models", - "/home/eike/repos/master/ma-impl/vipra-ui/app/routes", - "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/articles", - "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/topics", - "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/topics/show", - "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/words", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/articles", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/components", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/words" + "/home/eike/repos/master/ma-impl" ], "file_history": [ + "/home/eike/repos/master/ma-impl/vipra-ui/ember-cli-build.js", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/application.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/index.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/loading.hbs", + "/home/eike/repos/master/ma-impl/vipra-ui/app/styles/app.css", + "/home/eike/Downloads/squares.css", + "/home/eike/repos/master/ma-impl/vipra-ui/app/index.html", + "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/words/show.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/words/show.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/words/index.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/models/word.js", @@ -506,7 +476,6 @@ "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/components/items-list.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics/show/index.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/words.hbs", - "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/index.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/router.js", "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/words", "/home/eike/repos/master/ma-impl/vipra-ui/app/models/topic.js", @@ -534,7 +503,6 @@ "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics/show/edit.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics/show.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/helpers/topic-share.js", - "/home/eike/repos/master/ma-impl/vipra-ui/app/styles/app.css", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/components/topic-link.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/templates/topics/edit.hbs", "/home/eike/repos/master/ma-impl/vipra-ui/app/routes/articles/show.js", @@ -616,13 +584,7 @@ "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/app/routes/articles.show.js", "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/app/templates/articles/test.hbs", "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/.ember-cli", - "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/bower_components/ember-data/ember-data.js", - "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/bower_components/ember/ember.js", - "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/app/templates/application.hbs", - "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/app/serializers/application.js", - "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/bower.json", - "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/bower_components/ember/.bower.json", - "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/package.json" + "/home/eike/Repositories/fu/ss15/ma/impl/vipra-ui/bower_components/ember-data/ember-data.js" ], "find": { @@ -946,96 +908,8 @@ "groups": [ { - "selected": 1, "sheets": [ - { - "buffer": 0, - "file": "vipra-ui/app/routes/words/show.js", - "semi_transient": false, - "settings": - { - "buffer_size": 178, - "regions": - { - }, - "selection": - [ - [ - 178, - 178 - ] - ], - "settings": - { - "open_with_edit": true, - "syntax": "Packages/JavaScriptNext - ES6 Syntax/JavaScriptNext.tmLanguage" - }, - "translation.x": 0.0, - "translation.y": 0.0, - "zoom_level": 1.0 - }, - "stack_index": 2, - "type": "text" - }, - { - "buffer": 1, - "file": "vipra-ui/ember-cli-build.js", - "semi_transient": false, - "settings": - { - "buffer_size": 881, - "regions": - { - }, - "selection": - [ - [ - 877, - 877 - ] - ], - "settings": - { - "syntax": "Packages/JavaScriptNext - ES6 Syntax/JavaScriptNext.tmLanguage", - "tab_size": 2, - "translate_tabs_to_spaces": true - }, - "translation.x": 0.0, - "translation.y": 0.0, - "zoom_level": 1.0 - }, - "stack_index": 0, - "type": "text" - }, - { - "buffer": 2, - "file": "vipra-ui/app/templates/index.hbs", - "semi_transient": false, - "settings": - { - "buffer_size": 145, - "regions": - { - }, - "selection": - [ - [ - 145, - 145 - ] - ], - "settings": - { - "syntax": "Packages/Handlebars/grammars/Handlebars.tmLanguage" - }, - "translation.x": 0.0, - "translation.y": 0.0, - "zoom_level": 1.0 - }, - "stack_index": 1, - "type": "text" - } ] } ], diff --git a/vipra-ui/.classpath b/vipra-ui/.classpath new file mode 100644 index 00000000..d6da2a85 --- /dev/null +++ b/vipra-ui/.classpath @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> + <attributes> + <attribute name="owner.project.facets" value="java"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/> + <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> + <classpathentry kind="output" path="build/classes"/> +</classpath> diff --git a/vipra-ui/.project b/vipra-ui/.project index 6f683a49..eee34264 100644 --- a/vipra-ui/.project +++ b/vipra-ui/.project @@ -5,7 +5,32 @@ <projects> </projects> <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.jsdt.core.javascriptValidator</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.validation.validationbuilder</name> + <arguments> + </arguments> + </buildCommand> </buildSpec> <natures> + <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> + <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> + <nature>org.eclipse.wst.jsdt.core.jsNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> </natures> </projectDescription> diff --git a/vipra-ui/.settings/.jsdtscope b/vipra-ui/.settings/.jsdtscope new file mode 100644 index 00000000..92e666d7 --- /dev/null +++ b/vipra-ui/.settings/.jsdtscope @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="WebContent"/> + <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject"> + <attributes> + <attribute name="hide" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/> + <classpathentry kind="output" path=""/> +</classpath> diff --git a/vipra-ui/.settings/org.eclipse.jdt.core.prefs b/vipra-ui/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..0c68a61d --- /dev/null +++ b/vipra-ui/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/vipra-ui/.settings/org.eclipse.wst.common.component b/vipra-ui/.settings/org.eclipse.wst.common.component new file mode 100644 index 00000000..1f5413a3 --- /dev/null +++ b/vipra-ui/.settings/org.eclipse.wst.common.component @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0"> + <wb-module deploy-name="vipra-ui"> + <wb-resource deploy-path="/" source-path="/dist"/> + <wb-resource deploy-path="/" source-path="/webapp" tag="defaultRootSource"/> + <property name="context-root" value="vipra-ui"/> + <property name="java-output-path" value="/vipra-ui/build/classes"/> + </wb-module> +</project-modules> diff --git a/vipra-ui/.settings/org.eclipse.wst.common.project.facet.core.xml b/vipra-ui/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 00000000..5523f321 --- /dev/null +++ b/vipra-ui/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<faceted-project> + <fixed facet="jst.web"/> + <fixed facet="wst.jsdt.web"/> + <fixed facet="java"/> + <installed facet="wst.jsdt.web" version="1.0"/> + <installed facet="java" version="1.8"/> + <installed facet="jst.web" version="3.1"/> +</faceted-project> diff --git a/vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.container b/vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 00000000..3bd5d0a4 --- /dev/null +++ b/vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.name b/vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 00000000..05bd71b6 --- /dev/null +++ b/vipra-ui/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/vipra-ui/.settings/org.eclipse.wst.validation.prefs b/vipra-ui/.settings/org.eclipse.wst.validation.prefs index f9b717e1..508e5864 100644 --- a/vipra-ui/.settings/org.eclipse.wst.validation.prefs +++ b/vipra-ui/.settings/org.eclipse.wst.validation.prefs @@ -6,4 +6,7 @@ eclipse.preferences.version=1 override=true suspend=false vals/org.eclipse.wst.html.core.HTMLValidator/global=FF01 +vals/org.eclipse.wst.xml.core.xml/global=FF03 +vals/org.eclipse.wst.xsd.core.xsd/global=FF02162org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator +vals/org.eclipse.wst.xsl.core.xsl/global=FF02 vf.version=3 diff --git a/vipra-ui/app/index.html b/vipra-ui/app/index.html index 42eed3eb..bc38d0b0 100644 --- a/vipra-ui/app/index.html +++ b/vipra-ui/app/index.html @@ -3,9 +3,8 @@ <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <title>Vipra</title> - <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> + <title>Vipra</title> <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-57x57.png"> <link rel="apple-touch-icon" sizes="60x60" href="/apple-touch-icon-60x60.png"> diff --git a/vipra-ui/app/styles/app.css b/vipra-ui/app/styles/app.css deleted file mode 100644 index f48d3e04..00000000 --- a/vipra-ui/app/styles/app.css +++ /dev/null @@ -1,8 +0,0 @@ -td { - vertical-align: top; -} - -.word { - cursor: pointer; - padding-right: 5px; -} \ No newline at end of file diff --git a/vipra-ui/app/styles/app.scss b/vipra-ui/app/styles/app.scss new file mode 100644 index 00000000..a3dd9442 --- /dev/null +++ b/vipra-ui/app/styles/app.scss @@ -0,0 +1,21 @@ +td { + vertical-align: top; +} + +.word { + cursor: pointer; + padding-right: 5px; +} + +.center { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +.loading { + background: url(/assets/images/squares.gif) no-repeat center center; + width: 120px; + height: 120px; +} \ No newline at end of file diff --git a/vipra-ui/app/templates/application.hbs b/vipra-ui/app/templates/application.hbs index e2147cab..683e9697 100644 --- a/vipra-ui/app/templates/application.hbs +++ b/vipra-ui/app/templates/application.hbs @@ -1 +1,30 @@ +<nav class="navbar navbar-default"> + <div class="container-fluid"> + <!-- Brand and toggle get grouped for better mobile display --> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#vipra-navbar-collapse-1" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="#">Vipra</a> + </div> + + <!-- Collect the nav links, forms, and other content for toggling --> + <div class="collapse navbar-collapse" id="vipra-navbar-collapse-1"> + <ul class="nav navbar-nav"> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Browse <span class="caret"></span></a> + <ul class="dropdown-menu"> + <li>{{#link-to 'articles'}}Articles{{/link-to}}</li> + <li>{{#link-to 'topics'}}Topics{{/link-to}}</li> + <li>{{#link-to 'words'}}Words{{/link-to}}</li> + </ul> + </li> + </ul> + </div><!-- /.navbar-collapse --> + </div><!-- /.container-fluid --> +</nav> + {{outlet}} \ No newline at end of file diff --git a/vipra-ui/app/templates/index.hbs b/vipra-ui/app/templates/index.hbs index c7e27e93..e69de29b 100644 --- a/vipra-ui/app/templates/index.hbs +++ b/vipra-ui/app/templates/index.hbs @@ -1,5 +0,0 @@ -<h1>Vipra</h1> - -{{#link-to 'articles'}}Articles{{/link-to}}<br> -{{#link-to 'topics'}}Topics{{/link-to}}<br> -{{#link-to 'words'}}Words{{/link-to}} \ No newline at end of file diff --git a/vipra-ui/app/templates/loading.hbs b/vipra-ui/app/templates/loading.hbs index 37d70925..119bd472 100644 --- a/vipra-ui/app/templates/loading.hbs +++ b/vipra-ui/app/templates/loading.hbs @@ -1 +1,4 @@ -Loading... \ No newline at end of file +<div class="center"> + <div class="loading"> + </div> +</div> \ No newline at end of file diff --git a/vipra-ui/ember-cli-build.js b/vipra-ui/ember-cli-build.js index c8c397e4..dccfb16e 100644 --- a/vipra-ui/ember-cli-build.js +++ b/vipra-ui/ember-cli-build.js @@ -4,7 +4,13 @@ var EmberApp = require('ember-cli/lib/broccoli/ember-app'); module.exports = function(defaults) { var app = new EmberApp(defaults, { - // Add options here + sourcemaps: { + enabled: EmberApp.env() !== 'production', + extensions: ['js'] + }, + sassOptions: { + extension: 'scss' + } }); var bootstrapPath = 'bower_components/bootstrap/dist'; diff --git a/vipra-ui/package.json b/vipra-ui/package.json index 54be369a..c6a30adb 100644 --- a/vipra-ui/package.json +++ b/vipra-ui/package.json @@ -30,6 +30,7 @@ "ember-cli-inject-live-reload": "^1.3.1", "ember-cli-qunit": "^1.0.4", "ember-cli-release": "0.2.8", + "ember-cli-sass": "5.2.1", "ember-cli-sri": "^1.2.0", "ember-cli-uglify": "^1.2.0", "ember-data": "1.13.15", diff --git a/vipra-ui/public/assets/images/squares.gif b/vipra-ui/public/assets/images/squares.gif new file mode 100644 index 0000000000000000000000000000000000000000..15739a5e3e23301ea73683e760f57fcc58b0b275 GIT binary patch literal 27920 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 literal 0 HcmV?d00001 diff --git a/vipra-ui/webapp/WEB-INF/web.xml b/vipra-ui/webapp/WEB-INF/web.xml new file mode 100644 index 00000000..55266664 --- /dev/null +++ b/vipra-ui/webapp/WEB-INF/web.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" + version="3.1"> + <welcome-file-list> + <welcome-file>index.html</welcome-file> + </welcome-file-list> +</web-app> \ No newline at end of file -- GitLab