Compare commits

..

24 commits

Author SHA1 Message Date
d82bd08d12 Merge pull request 'feature/3-migrate-from-grunt-to-webpack' (#13) from feature/3-migrate-from-grunt-to-webpack into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #13
2021-02-24 17:01:19 +01:00
5d6f519564 Use newer docker image for build.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2021-02-24 16:56:43 +01:00
2fdbbe888e Delete Gruntfile.js.
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-24 16:51:54 +01:00
a45d25ded6 Reorganize all build related files into a more or less sensible folder structure. 2021-02-24 16:45:25 +01:00
09b6658788 Remove all dependencies on grunt and the like. 2021-02-24 16:28:25 +01:00
3cb1a940f0 Generate the CSS files by rollup as well. Grunt is now obsolete.
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-24 16:19:00 +01:00
41c8f57146 Move all build config javascript files to a dedicated folder. 2021-02-24 14:30:29 +01:00
e06d1d6f73 Simplify all rollup build configs.
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-24 13:45:07 +01:00
621468b27f Build JS assets with rollup instead of grunt.
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-24 13:19:33 +01:00
b6a368040c Don't call grunt directly, thus decoupling it from the build process.
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-24 10:25:08 +01:00
4f82a9175f Merge pull request 'Run npm audit fix' (#11) from feature/3-migrate-from-grunt-to-webpack into develop
Reviewed-on: #11
2021-02-24 09:48:00 +01:00
4979cb2371 Run npm audit fix 2021-02-24 09:39:23 +01:00
079bda7fb0 Merge branch 'feature/build-on-drone-ci' of manuel/uhr into develop
All checks were successful
continuous-integration/drone/push Build is passing
2019-05-04 00:25:58 +02:00
dd8356861f Make the test less strict.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2019-05-04 00:21:38 +02:00
92817becc8 Lift version to 9.0.0-dev.0, since there were several large dependency upgrades
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2019-05-04 00:04:11 +02:00
1655a24aa4 Fix test again (to run on Linux, screw Windows) and re-add all files in dist/.
Some checks failed
continuous-integration/drone/push Build is failing
2019-05-03 23:54:30 +02:00
3355ee5cf5 Various clean ups
All checks were successful
continuous-integration/drone/push Build is passing
2019-05-03 23:52:23 +02:00
40d762f90a Add rebuilt file
All checks were successful
continuous-integration/drone/push Build is passing
2019-05-03 23:44:03 +02:00
864f0052b4 Fix test 2019-05-03 23:43:51 +02:00
1583f73220 Don't include deprecated jquery-ui.core.js, which breaks everything. 2019-05-03 23:43:10 +02:00
5a3e672b9c Fix various linting errors 2019-05-03 22:27:16 +02:00
82f867a8ec Update all dependencies to their latest versions
Some checks failed
continuous-integration/drone/push Build is failing
2019-05-03 19:01:49 +02:00
17fd6f70b8 Add .drone.yml for continuous integration on Drone CI.
All checks were successful
continuous-integration/drone/push Build is passing
2019-05-03 18:48:36 +02:00
d7581628af Fix Readme
Gitea renders differently. Need to fix.
2018-06-22 12:15:54 +02:00
134 changed files with 12061 additions and 13446 deletions

View file

@ -1,60 +0,0 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"project": {
"name": "uhr"
},
"apps": [
{
"root": "src",
"outDir": "dist",
"assets": [
"assets",
"favicon.ico"
],
"index": "index.html",
"main": "main.ts",
"polyfills": "polyfills.ts",
"test": "test.ts",
"tsconfig": "tsconfig.app.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"styles": [
"styles.scss"
],
"scripts": [],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
}
],
"e2e": {
"protractor": {
"config": "./protractor.conf.js"
}
},
"lint": [
{
"project": "src/tsconfig.app.json",
"exclude": "**/node_modules/**"
},
{
"project": "src/tsconfig.spec.json",
"exclude": "**/node_modules/**"
},
{
"project": "e2e/tsconfig.e2e.json",
"exclude": "**/node_modules/**"
}
],
"test": {
"karma": {
"config": "./karma.conf.js"
}
},
"defaults": {
"styleExt": "scss",
"component": {}
}
}

13
.drone.yml Normal file
View file

@ -0,0 +1,13 @@
kind: pipeline
type: docker
name: default
steps:
- name: prepare
image: node:15-alpine
commands:
- npm install
- name: build
image: node:15-alpine
commands:
- npm run build

View file

@ -1,13 +1,15 @@
# Editor configuration, see http://editorconfig.org # http://editorconfig.org
root = true root = true
[*] [*]
charset = utf-8
indent_style = space indent_style = space
indent_size = 2 indent_size = 4
insert_final_newline = true end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true trim_trailing_whitespace = true
insert_final_newline = true
[*.yml]
indent_size = 2
[*.md] [*.md]
max_line_length = off
trim_trailing_whitespace = false trim_trailing_whitespace = false

48
.gitignore vendored
View file

@ -1,44 +1,6 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.
# compiled output
/dist
/tmp
/out-tsc
# dependencies
/node_modules
# IDEs and editors
/.idea
.project
.classpath
atlassian-ide-plugin.xml
.c9/
*.launch
.settings/
*.sublime-workspace
*~ *~
.idea
# IDE - VSCode *.iml
.vscode/* atlassian-ide-plugin.xml
!.vscode/settings.json /node_modules/
!.vscode/tasks.json /bower_components/
!.vscode/launch.json
!.vscode/extensions.json
# misc
/.sass-cache
/connect.lock
/coverage
/libpeerconnection.log
npm-debug.log
testem.log
/typings
# e2e
/e2e/*.js
/e2e/*.map
# System Files
.DS_Store
Thumbs.db

View file

@ -1,75 +0,0 @@
variables:
NPMPATH: "node_modules/.bin"
stages:
- build
- cleanup_build
- deploy
- cleanup
.run_deploy: &run_deploy
script:
- chmod +x ./deploy.sh
- ./deploy.sh
build_job:
stage: build
script:
- npm install
- $NPMPATH/grunt
tags:
- javascript
except:
- tags
artifacts:
paths:
- dist/*.min.*
- info/
- resources/
- index.html
- manifest.appcache
cleanup_build_job:
stage: cleanup_build
script:
- rm -rf node_modules
- rm -rf dist
when: on_failure
develop:
stage: deploy
<<: *run_deploy
environment: develop
except:
- tags
- master
- develop
variables:
ENVIRON: develop
TARGET: $WWW_DEPLOY_ROOT_DEVELOP
staging:
stage: deploy
<<: *run_deploy
environment: staging
only:
- develop
variables:
ENVIRON: staging
TARGET: $WWW_DEPLOY_ROOT_STAGING
production:
stage: deploy
<<: *run_deploy
environment: production
only:
- master
variables:
ENVIRON: production
TARGET: $WWW_DEPLOY_ROOT_PRODUCTION
cleanup_job:
stage: cleanup
script:
- rm -rf node_modules
when: always

View file

@ -1,10 +1,7 @@
Bärneruhr # Bärneruhr
=========
Du willst Bärneruhr auf deiner Website verwenden? Dank des jQuery-Plugins geht das so einfach, dass es sogar deine Grossmutter tun könnte! Du willst Bärneruhr auf deiner Website verwenden? Dank des jQuery-Plugins geht das so einfach, dass es sogar deine Grossmutter tun könnte!
1. Benötigte Dateien einbinden ## 1. Benötigte Dateien einbinden
------------------------------
* Binde folgende CSS-Datei im HTML-Dokument ein: * Binde folgende CSS-Datei im HTML-Dokument ein:
* dist/uhr.min.css * dist/uhr.min.css
* Binde zusätzlich mindestens eine der folgenden CSS-Dateien im HTML ein, je nach dem, welche Farben deine Uhr unterstützen soll: * Binde zusätzlich mindestens eine der folgenden CSS-Dateien im HTML ein, je nach dem, welche Farben deine Uhr unterstützen soll:
@ -25,10 +22,10 @@ Beim Einbinden muss das attribut `data-class` angegeben werden, welches die CSS-
* Binde nach den CSS-Dateien (wichtig!) folgende Javascript-Dateien im HTML-Dokument ein: * Binde nach den CSS-Dateien (wichtig!) folgende Javascript-Dateien im HTML-Dokument ein:
* dist/libs.min.js: Dies enthält die minifizierten Versionen von jQuery, jQuery-UI (mit den Komponenten `code` und `widget`) und jQuery-Cookie. * dist/libs.min.js: Dies enthält die minifizierten Versionen von jQuery, jQuery-UI (mit den Komponenten `code` und `widget`) und jQuery-Cookie.
Alternativ kannst Du auch direkt die benötigten Bibliotheken einbinden: Alternativ kannst Du auch direkt die benötigten Bibliotheken einbinden:
* jquery (getestet mit Version 2.1.0) * jquery (getestet mit Version 3.4.1)
* jquery-ui (getestet mit Version 1.10.4) * jquery-ui (getestet mit Version 1.12.1)
* Von jquery-ui werden die Komponenten 'core' und 'widget' benötigt. * Von jquery-ui wird die Komponente 'widget' benötigt.
* jquery-cookie (getestet mit Version 1.4.0) * jquery-cookie (getestet mit Version 1.4.1)
Je nach dem, in welchen Sprachen du die Uhr verwenden willst, noch eine der folgenden Dateien: Je nach dem, in welchen Sprachen du die Uhr verwenden willst, noch eine der folgenden Dateien:
* dist/jquery.uhr.complete.min.js: Enthält die Hauptdatei sowie alle unterstützten Sprachdateien * dist/jquery.uhr.complete.min.js: Enthält die Hauptdatei sowie alle unterstützten Sprachdateien
* dist/jquery.uhr.base.min.js: Enthält die Hauptdatei sowie Bärndütsch (de_CH) * dist/jquery.uhr.base.min.js: Enthält die Hauptdatei sowie Bärndütsch (de_CH)
@ -50,16 +47,14 @@ Je nach dem, in welchen Sprachen du die Uhr verwenden willst, noch eine der folg
`src/uhr-de_CH_genau.js` ist eine Variante von Bärndütsch, bei der zur vollen Stunde zusätzlich das Wort "genau" angezeigt wird (also z.B. um 15:00 Uhr "ES ISCH GENAU DRÜ" anstelle von "ES ISCH DRÜ"). `src/uhr-de_CH_genau.js` ist eine Variante von Bärndütsch, bei der zur vollen Stunde zusätzlich das Wort "genau" angezeigt wird (also z.B. um 15:00 Uhr "ES ISCH GENAU DRÜ" anstelle von "ES ISCH DRÜ").
2. Uhr-Element im HTML-Dokument einfügen ## 2. Uhr-Element im HTML-Dokument einfügen
----------------------------------------
Erstelle ein leeres `<div>` mit einer ID: Erstelle ein leeres `<div>` mit einer ID:
```html ```html
<div id="uhrcontainer"></div> <div id="uhrcontainer"></div>
``` ```
3. Uhr per Javascript konfigurieren ## 3. Uhr per Javascript konfigurieren
-----------------------------------
Initialisiere die Uhr mit einer einzigen Zeile Javascript: Initialisiere die Uhr mit einer einzigen Zeile Javascript:
```javascript ```javascript
@ -88,8 +83,7 @@ jQuery('div').uhr();
würde also jedes `<div>`-Element der Seite in eine Uhr umgewandelt. würde also jedes `<div>`-Element der Seite in eine Uhr umgewandelt.
4. Weitere Optionen ## 4. Weitere Optionen
-------------------
Der uhr()-Methode kann ein Options-Objekt mitgegeben werden: Der uhr()-Methode kann ein Options-Objekt mitgegeben werden:
```javascript ```javascript
@ -99,7 +93,7 @@ jQuery('#uhrcontainer').uhr({
language: 'de_CH', // 'de_CH' (default), 'de_CH_genau', 'de', 'dk', 'en', 'es', 'fr', 'it', 'nl' oder 'pt' (je nach eingebundenen Sprachdateien) language: 'de_CH', // 'de_CH' (default), 'de_CH_genau', 'de', 'dk', 'en', 'es', 'fr', 'it', 'nl' oder 'pt' (je nach eingebundenen Sprachdateien)
mode: 'normal', // 'normal' (default): Die Uhr zeigt die aktuelle Zeit (Stunden und Minuten) in Worten an mode: 'normal', // 'normal' (default): Die Uhr zeigt die aktuelle Zeit (Stunden und Minuten) in Worten an
// 'seconds': Die Uhr zeigt die aktuellen Sekunden als grosse Ziffern an // 'seconds': Die Uhr zeigt die aktuellen Sekunden als grosse Ziffern an
width: '100%', // eine CSS-Grössenangabe (default: 100%) width: '100%', // Eine CSS-Grössenangabe (default: 100%)
force: false, // false (default): Falls ein Cookie im Browser besteht, werden dessen Konfigurationswerte übernommen; force: false, // false (default): Falls ein Cookie im Browser besteht, werden dessen Konfigurationswerte übernommen;
// true: immer die angegebene Konfiguration verwenden // true: immer die angegebene Konfiguration verwenden
controls: true, // true (default): Die Bedienelemente (Ein-/Ausschalter, Theme-, Zeitmodus- und Sprachwähler) werden angezeigt controls: true, // true (default): Die Bedienelemente (Ein-/Ausschalter, Theme-, Zeitmodus- und Sprachwähler) werden angezeigt
@ -110,8 +104,7 @@ jQuery('#uhrcontainer').uhr({
}); });
``` ```
5. Sonderfunktionen ## 5. Sonderfunktionen
-------------------
Es gibt noch einen zusätzlichen Konfigurationsparameter. Mittels Es gibt noch einen zusätzlichen Konfigurationsparameter. Mittels
```javascript ```javascript
@ -127,9 +120,8 @@ Die Zeit kann auch über einen Methodenaufruf dynamisch eingestellt werden:
jQuery('#uhrcontainer').uhr("time", new Date()); jQuery('#uhrcontainer').uhr("time", new Date());
``` ```
6. Konfiguration über die URL ## 6. Konfiguration über die URL
----------------------------- Es ist möglich, die Uhr durch den Aufruf mit URL-Parametern zu konfigurieren. Dies übersteuert auch allfällig bereits in einem Cookie gespeicherte Einstellungen. Die Einstellungen werden für alle Uhr-Elemente übernommen, welche sich auf der Seite befinden. Folgende Parameter werden unterstützt, wenn du sie mit einem Hash (`#`) an die URL anhängst:
Es ist möglich, die Uhr durch den Aufruf mit URL-Parameters zu konfigurieren. Dies übersteuert auch allfällig bereits in einem Cookie gespeicherte Einstellungen. Die Einstellungen werden für alle Uhr-Elemente übernommen, welche sich auf der Seite befinden. Folgende Parameter werden unterstützt, wenn du sie mit einem Hash (`#`) an die URL anhängst:
* `l` oder `language`: Bestimmt die Sprache. Der Wert ist der Sprach-Code (abhängig von den eingebundenen Sprachdateien): * `l` oder `language`: Bestimmt die Sprache. Der Wert ist der Sprach-Code (abhängig von den eingebundenen Sprachdateien):
* de_CH: Bärndütsch * de_CH: Bärndütsch
@ -157,7 +149,7 @@ Es ist möglich, die Uhr durch den Aufruf mit URL-Parameters zu konfigurieren. D
* on: Die Uhr ist eingeschaltet * on: Die Uhr ist eingeschaltet
* off: Die Uhr ist ausgeschaltet * off: Die Uhr ist ausgeschaltet
Eine URL kann also beispielweise so aussehen: Eine URL kann also beispielsweise so aussehen:
http://example.com/uhr.html#l=fr&t=red&m=seconds&s=on http://example.com/uhr.html#l=fr&t=red&m=seconds&s=on
@ -165,8 +157,7 @@ Dies zeigt dann die Uhr auf Französisch in Rot, im Sekunden-Modus und eingescha
Viel Spass! Viel Spass!
A. Lizenzbestimmungen # A. Lizenzbestimmungen
=====================
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or

View file

@ -1 +1 @@
8.0.4-dev.0 9.0.0-dev.0

View file

@ -1,181 +0,0 @@
module.exports = function (grunt) {
'use strict';
// Load all grunt tasks
require('load-grunt-tasks')(grunt);
// Show elapsed time at the end
require('time-grunt')(grunt);
// Project configuration.
grunt.initConfig({
// Metadata.
pkg: grunt.file.readJSON('package.json'),
banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
'<%= pkg.homepage ? "* " + pkg.homepage + "\\n" : "" %>' +
'* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
' Licensed <%= pkg.licenses[0].type %> */\n',
// Task configuration.
clean: {
files: ['dist']
},
concat: {
options: {
banner: '<%= banner %>',
stripBanners: true
},
libs: {
src: [
'node_modules/jquery/dist/jquery.js',
'node_modules/jquery-ui/ui/core.js',
'node_modules/jquery-ui/ui/widget.js',
'node_modules/jquery.cookie/jquery.cookie.js'
],
dest: 'dist/libs.js'
},
dist: {
src: ['src/uhr.js', 'src/uhr-*.js'],
dest: 'dist/jquery.<%= pkg.name %>.complete.js'
},
main: {
src: ['src/uhr.js'],
dest: 'dist/jquery.<%= pkg.name %>.main.js'
},
base: {
src: ['src/uhr.js', 'src/uhr-de_CH.js'],
dest: 'dist/jquery.<%= pkg.name %>.base.js'
},
baselangs: {
src: ['src/uhr-*.js'],
exclude: ['src/uhr-de_CH.js'],
dest: 'dist/jquery.<%= pkg.name %>.baselangs.js'
},
langs: {
src: ['src/uhr-*.js'],
dest: 'dist/jquery.<%= pkg.name %>.langs.js'
}
},
uglify: {
options: {
banner: '<%= banner %>'
},
libs: {
src: '<%= concat.libs.dest %>',
dest: 'dist/libs.min.js'
},
dist: {
src: '<%= concat.dist.dest %>',
dest: 'dist/jquery.<%= pkg.name %>.complete.min.js'
},
main: {
src: '<%= concat.main.dest %>',
dest: 'dist/jquery.<%= pkg.name %>.main.min.js'
},
base: {
src: '<%= concat.base.dest %>',
dest: 'dist/jquery.<%= pkg.name %>.base.min.js'
},
baselangs: {
src: '<%= concat.baselangs.dest %>',
dest: 'dist/jquery.<%= pkg.name %>.baselangs.min.js'
},
langs: {
src: '<%= concat.langs.dest %>',
dest: 'dist/jquery.<%= pkg.name %>.langs.min.js'
}
},
cssmin: {
allcss: {
files: [{
expand: true,
cwd: 'css',
src: ['*.css'],
dest: 'dist',
ext: '.min.css'
}]
}
},
mocha_phantomjs: {
all: {
options: {
urls: ['http://localhost:9000/test/test.html']
}
}
},
jshint: {
options: {
reporter: require('jshint-stylish')
},
gruntfile: {
options: {
jshintrc: '.jshintrc'
},
src: 'Gruntfile.js'
},
src: {
options: {
jshintrc: '.jshintrc'
},
src: ['src/**/*.js']
},
test: {
options: {
jshintrc: 'test/.jshintrc'
},
src: ['test/*.js']
}
},
watch: {
gruntfile: {
files: '<%= jshint.gruntfile.src %>',
tasks: ['jshint:gruntfile']
},
src: {
files: '<%= jshint.src.src %>',
tasks: ['jshint:src', 'mocha_phantomjs']
},
test: {
files: ['test/test.html', '<%= jshint.test.src %>'],
tasks: ['jshint:test', 'mocha_phantomjs']
}
},
connect: {
server: {
options: {
hostname: '*',
port: 9000
}
}
},
version: {
VERSION: {
options: {
prefix: ''
},
src: ['VERSION']
},
bower: {
src: ['bower.json']
},
manifest: {
options: {
prefix: 'Version\\s+'
},
src: ['manifest.appcache']
}
}
});
grunt.loadNpmTasks('grunt-mocha-phantomjs');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-version');
// Default task.
grunt.registerTask('default', ['jshint', 'clean', 'version', 'concat', 'connect', 'mocha_phantomjs', 'uglify', 'cssmin']);
grunt.registerTask('buildonly', ['clean', 'version', 'concat', 'uglify', 'cssmin']);
grunt.registerTask('server', function () {
grunt.log.warn('The `server` task has been deprecated. Use `grunt serve` to start a server.');
grunt.task.run(['serve']);
});
grunt.registerTask('serve', ['connect', 'watch']);
grunt.registerTask('test', ['jshint', 'connect', 'mocha_phantomjs']);
};

View file

@ -1,23 +0,0 @@
#!/bin/sh
declare destination
case "${TARGET}" in
"${WWW_DEPLOY_ROOT_DEVELOP}")
destination="${TARGET}/${CI_BUILD_REF_NAME}"
;;
"${WWW_DEPLOY_ROOT_STAGING}"|"${WWW_DEPLOY_ROOT_PRODUCTION}")
destination="${TARGET}"
;;
*)
echo "Invalid TARGET specified. Aborting deployment."
exit 1
;;
esac
rm -rf "${destination}/*"
rm -rf "${destination}/.??*"
mkdir -p "${destination}/dist"
cp -a index.html manifest.appcache info resources "${destination}"
cp -a dist/*.min.* "${destination}/dist"
echo "Deployment successful."

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
.black .onoffswitch-inner:before,.uhr.black{background-color:#111}.uhr.black .dot:not(.active){border-color:rgba(255,255,255,.1);box-shadow:0 0 .1em rgba(255,255,255,.1)}.uhr.black .letter:not(.active){color:rgba(255,255,255,.1);text-shadow:0 0 .1em rgba(255,255,255,.1)}

View file

@ -1 +0,0 @@
.blue .onoffswitch-inner:before,.uhr.blue{background-color:#00a}.uhr.blue .dot:not(.active){border-color:rgba(255,255,255,.1);box-shadow:0 0 .1em rgba(255,255,255,.1)}.uhr.blue .letter:not(.active){color:rgba(255,255,255,.1);text-shadow:0 0 .1em rgba(255,255,255,.1)}

View file

@ -1 +0,0 @@
.pink .onoffswitch-inner:before,.uhr.pink{background-color:#f0a}.uhr.pink .dot.active{border-color:#fff;box-shadow:0 0 .1em #fff}.uhr.pink .letter.active{color:#fff;text-shadow:0 0 .1em #fff}.uhr.pink .dot:not(.active){border-color:rgba(255,255,255,.1);box-shadow:0 0 .1em rgba(255,255,255,.1)}.uhr.pink .letter:not(.active){color:rgba(255,255,255,.1);text-shadow:0 0 .1em rgba(255,255,255,.1)}

View file

@ -1 +0,0 @@
.red .onoffswitch-inner:before,.uhr.red{background-color:#700}.uhr.red .dot:not(.active){border-color:rgba(255,255,255,.1);box-shadow:0 0 .1em rgba(255,255,255,.1)}.uhr.red .letter:not(.active){color:rgba(255,255,255,.1);text-shadow:0 0 .1em rgba(255,255,255,.1)}

View file

@ -1 +0,0 @@
.uhr.white,.white .onoffswitch-inner:before{background-color:#ccc}.uhr.white .dot.active{border-color:#fff;box-shadow:0 0 .1em #fff}.uhr.white .letter.active{color:#fff;text-shadow:0 0 .1em #fff}.uhr.white .dot:not(.active){border-color:rgba(0,0,0,.1);box-shadow:0 0 .1em rgba(0,0,0,.1)}.uhr.white .letter:not(.active){color:rgba(0,0,0,.1);text-shadow:0 0 .1em rgba(0,0,0,.1)}

View file

@ -1 +0,0 @@
.uhr.yellow,.yellow .onoffswitch-inner:before{background-color:#fd0}.uhr.yellow .dot.active{border-color:#fff;box-shadow:0 0 .1em #fff}.uhr.yellow .letter.active{color:#fff;text-shadow:0 0 .1em #fff}.uhr.yellow .dot:not(.active){border-color:rgba(0,0,0,.05);box-shadow:0 0 .1em rgba(0,0,0,.05)}.uhr.yellow .letter:not(.active){color:rgba(0,0,0,.05);text-shadow:0 0 .1em rgba(0,0,0,.05)}

View file

@ -1 +0,0 @@
@font-face{font-family:Uhrenfont;src:url(../resources/uhr.woff) format('woff')}body{font-family:Uhrenfont,sans-serif}.uhr{position:relative;margin:0;transition:background-color .5s}.dot,.uhr .letterarea,.uhr .reflection{position:absolute;display:block}.uhr .reflection{top:0;bottom:0;left:0;right:0;background:radial-gradient(225em 45em at 160% 0,rgba(255,255,255,.4) 0,rgba(255,255,255,.05) 40%,rgba(255,255,255,0) 40%) no-repeat;margin:.15em}.uhr .letterarea{top:12%;bottom:12%;left:12%;right:12%;overflow:hidden;font-size:200%}.dot1,.dot2{top:3.75%}.dot3,.dot4{bottom:3.75%}.dot2,.dot3{right:3.75%}.item{transition:box-shadow .5s,text-shadow .5s,border-color .5s,color .5s}.dot{height:0;width:0;border:.2em solid;border-radius:1em}.dot.active{border-color:#eee;box-shadow:0 0 .2em #eee}.dot1{left:3.75%}.dot4{left:3.75%}.letter{height:10%;width:9.0909%;padding:0;margin:0;display:inline-block;text-align:center;line-height:160%}.letter.active{color:#eee;text-shadow:0 0 .2em #eee}.onoffswitch{position:relative;width:86px;margin:1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.onoffswitch-checkbox{display:none}.onoffswitch-label{display:block;overflow:hidden;cursor:pointer;border:2px solid #999;border-radius:50px}.modeswitch-inner,.onoffswitch-inner{width:200%;margin-left:-100%;-moz-transition:margin .3s ease-in 0s;-webkit-transition:margin .3s ease-in 0s;-o-transition:margin .3s ease-in 0s;transition:margin .3s ease-in 0s}.modeswitch-inner:after,.modeswitch-inner:before,.onoffswitch-inner:after,.onoffswitch-inner:before{float:left;width:50%;height:24px;padding:0;line-height:24px;font-size:18px;font-weight:700;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.onoffswitch-inner:before{content:"EIN";padding-left:12px;color:#eee;transition:background-color .5s}.onoffswitch-inner:after{content:"AUS";padding-right:12px;background-color:#eee;color:#999;text-align:right}.onoffswitch-switch{width:30px;margin:-3px;background:#fff;border:2px solid #999;border-radius:50px;position:absolute;top:0;bottom:0;right:58px;-moz-transition:all .3s ease-in 0s;-webkit-transition:all .3s ease-in 0s;-o-transition:all .3s ease-in 0s;transition:all .3s ease-in 0s}a.uhr-closecontrolpanel,a.uhr-configlink{cursor:pointer;display:inline-block;width:24px;height:24px}.onoffswitch-checkbox:checked+.onoffswitch-label .modeswitch-inner,.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner{margin-left:0}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch{right:0}.modeswitch-inner:before{content:"MIN";padding-left:12px;background-color:#fff;color:#000}.modeswitch-inner:after{content:"SEC";padding-right:12px;background-color:#fff;color:#000;text-align:right}a.uhr-configlink{background:url(../resources/settings.png) no-repeat;margin:2px;vertical-align:top}.uhr-controlpanel{border-radius:.5em;box-shadow:0 0 1em #000;background-color:#fff;display:inline-block;padding:.5em;position:sticky;bottom:0;margin-left:1em}.uhr-controlpanel .content{position:relative}a.uhr-closecontrolpanel{position:absolute;right:0;top:-1em;background:url(../resources/close.png) no-repeat}#disclaimer{font-size:.5em}#disclaimer a{color:#444;text-decoration:underline}

View file

@ -1,54 +0,0 @@
{
"name": "uhr",
"version": "8.0.4-dev.0",
"description": "jQuery QLOCKTWO plugin",
"keywords": [
"jquery-plugin",
"qlocktwo"
],
"scripts": {
"ng": "ng"
},
"homepage": "http://bärneruhr.ch/",
"author": {
"name": "Manuel Friedli",
"email": "manuel@fritteli.ch",
"url": "http://www.fritteli.ch/"
},
"repository": {
"type": "git",
"url": "https://gittr.ch/manuel/uhr"
},
"licenses": [
{
"type": "GPL-3.0"
}
],
"license": "GPL-3.0",
"dependencies": {
"jquery": "~2.1.3",
"jquery-ui": "github:jquery/jquery-ui#1.11.4",
"jquery.cookie": "~1.4.1"
},
"devDependencies": {
"@angular/cli": "^1.5.0",
"grunt": "~0.4.5",
"grunt-cli": "^0.1.13",
"grunt-contrib-clean": "~0.6.0",
"grunt-contrib-concat": "~0.5.0",
"grunt-contrib-connect": "~0.11.0",
"grunt-contrib-cssmin": "^0.14.0",
"grunt-contrib-jshint": "~0.11.0",
"grunt-contrib-qunit": "~0.7.0",
"grunt-contrib-uglify": "~0.9.2",
"grunt-contrib-watch": "~0.6.1",
"grunt-mocha-phantomjs": "^2.0.0",
"grunt-version": "^1.0.0",
"jshint-stylish": "~2.0.1",
"load-grunt-tasks": "~3.3.0",
"phantomjs": "^1.9.18",
"time-grunt": "~1.2.1",
"mocha": "~2.3.3",
"chai": "~3.3.0"
}
}

View file

@ -0,0 +1 @@
import '../../css/uhr.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-black.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-blue.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-green.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-pink.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-red.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-white.css';

View file

@ -0,0 +1 @@
import '../../css/uhr-yellow.css';

View file

@ -0,0 +1 @@
import '../../src/uhr';

View file

@ -0,0 +1,2 @@
import '../../src/uhr';
import '../../src/uhr-de_CH';

View file

@ -0,0 +1,9 @@
import '../../src/uhr-de';
import '../../src/uhr-de_CH_genau';
import '../../src/uhr-dk';
import '../../src/uhr-en';
import '../../src/uhr-es';
import '../../src/uhr-fr';
import '../../src/uhr-it';
import '../../src/uhr-nl';
import '../../src/uhr-pt';

View file

@ -0,0 +1,11 @@
import '../../src/uhr';
import '../../src/uhr-de';
import '../../src/uhr-de_CH';
import '../../src/uhr-de_CH_genau';
import '../../src/uhr-dk';
import '../../src/uhr-en';
import '../../src/uhr-es';
import '../../src/uhr-fr';
import '../../src/uhr-it';
import '../../src/uhr-nl';
import '../../src/uhr-pt';

View file

@ -0,0 +1,10 @@
import '../../src/uhr-de';
import '../../src/uhr-de_CH';
import '../../src/uhr-de_CH_genau';
import '../../src/uhr-dk';
import '../../src/uhr-en';
import '../../src/uhr-es';
import '../../src/uhr-fr';
import '../../src/uhr-it';
import '../../src/uhr-nl';
import '../../src/uhr-pt';

View file

@ -0,0 +1,3 @@
import 'jquery';
import 'jquery-ui';
import 'jquery.cookie';

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from "postcss";
import cssnano from "cssnano";
export default {
input: 'build-config/entrypoints/css-app.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-black.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-black.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-blue.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-blue.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-green.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-green.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-pink.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-pink.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-red.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-red.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-white.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-white.min.css'
})]
}

View file

@ -0,0 +1,11 @@
import cssbundle from 'rollup-plugin-css-bundle';
import postcss from 'postcss';
import cssnano from 'cssnano';
export default {
input: 'build-config/entrypoints/css-yellow.js',
plugins: [cssbundle({
transform: code => postcss([cssnano]).process(code),
output: 'dist/uhr-yellow.min.css'
})]
}

View file

@ -0,0 +1,23 @@
import {terser} from 'rollup-plugin-terser';
export default {
external: [
'jquery',
'jquery-ui',
'jquery.cookie'
],
input: 'build-config/entrypoints/js-app.js',
output: [
{
dir: 'dist',
entryFileNames: 'jquery.uhr.main.js',
format: 'cjs'
},
{
dir: 'dist',
entryFileNames: 'jquery.uhr.main.min.js',
format: 'cjs',
plugins: [terser()]
}
]
}

View file

@ -0,0 +1,23 @@
import {terser} from 'rollup-plugin-terser';
export default {
external: [
'jquery',
'jquery-ui',
'jquery.cookie'
],
input: 'build-config/entrypoints/js-base.js',
output: [
{
dir: 'dist',
entryFileNames: 'jquery.uhr.base.js',
format: 'cjs'
},
{
dir: 'dist',
entryFileNames: 'jquery.uhr.base.min.js',
format: 'cjs',
plugins: [terser()]
}
]
}

View file

@ -0,0 +1,23 @@
import {terser} from 'rollup-plugin-terser';
export default {
external: [
'jquery',
'jquery-ui',
'jquery.cookie'
],
input: 'build-config/entrypoints/js-baselangs.js',
output: [
{
dir: 'dist',
entryFileNames: 'jquery.uhr.baselangs.js',
format: 'cjs'
},
{
dir: 'dist',
entryFileNames: 'jquery.uhr.baselangs.min.js',
format: 'cjs',
plugins: [terser()]
}
]
}

View file

@ -0,0 +1,23 @@
import {terser} from 'rollup-plugin-terser';
export default {
external: [
'jquery',
'jquery-ui',
'jquery.cookie'
],
input: 'build-config/entrypoints/js-complete.js',
output: [
{
dir: 'dist',
entryFileNames: 'jquery.uhr.complete.js',
format: 'cjs'
},
{
dir: 'dist',
entryFileNames: 'jquery.uhr.complete.min.js',
format: 'cjs',
plugins: [terser()]
}
]
}

View file

@ -0,0 +1,23 @@
import {terser} from 'rollup-plugin-terser';
export default {
external: [
'jquery',
'jquery-ui',
'jquery.cookie'
],
input: 'build-config/entrypoints/js-langs.js',
output: [
{
dir: 'dist',
entryFileNames: 'jquery.uhr.langs.js',
format: 'cjs'
},
{
dir: 'dist',
entryFileNames: 'jquery.uhr.langs.min.js',
format: 'cjs',
plugins: [terser()]
}
]
}

View file

@ -0,0 +1,21 @@
import {terser} from 'rollup-plugin-terser';
import {nodeResolve} from '@rollup/plugin-node-resolve';
export default {
input: 'build-config/entrypoints/js-libs.js',
output: [
{
dir: 'dist',
entryFileNames: 'libs.js',
format: 'cjs'
},
{
dir: 'dist',
entryFileNames: 'libs.min.js',
format: 'cjs',
plugins: [terser()]
}
],
context: 'this',
plugins: [nodeResolve()]
}

File diff suppressed because it is too large Load diff

1
dist/jquery.uhr.base.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -1,8 +1,20 @@
/*! uhr - v8.0.4-dev.0 - 2016-06-27 'use strict';
* http://bärneruhr.ch/
* Copyright (c) 2016 Manuel Friedli; Licensed GPL-3.0 */ /*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
var es_ist = {1: [1, 2, 4, 5, 6]}; var es_ist = {1: [1, 2, 4, 5, 6]};
var uhr = {10: [9, 10, 11]}; var uhr = {10: [9, 10, 11]};
var nach = {4: [8, 9, 10, 11]}; var nach = {4: [8, 9, 10, 11]};
@ -61,91 +73,22 @@
}; };
$.fritteli.uhr.register('de', layout); $.fritteli.uhr.register('de', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
// hilfsvariablen
var es_isch = {1: [1, 2, 4, 5, 6, 7]};
var ab = {4: [1, 2]};
var vor = {3: [9, 10, 11]};
var haubi = {4: [4, 5, 6, 7, 8]};
var fuef = {1: [9, 10, 11]};
var zae = {2: [9, 10, 11]};
var viertu = {2: [1, 2, 3, 4, 5, 6]};
var zwaenzg = {3: [1, 2, 3, 4, 5, 6]};
var layout = {
// version: zur Zeit immer 2 (Pflichtattribut)
"version": 2,
// Sprechender Name der Sprache
"language": 'Bärndütsch',
// Buchstabenfeld als Array von Strings.
"letters": [
'ESKISCHAFÜF',
'VIERTUBFZÄÄ',
'ZWÄNZGSIVOR',
'ABOHAUBIEGE',
'EISZWÖISDRÜ',
'VIERIFÜFIQT',
'SÄCHSISIBNI',
'ACHTINÜNIEL',
'ZÄNIERBEUFI',
'ZWÖUFINAUHR'
],
// Permanent aktive Buchstaben. <array-or-object>, vgl. ausführliche Beschreibung bei "minutes".
"permanent": es_isch,
/*
* Minuten: Objekt im folgenden Format:
* {
* <minuten>: <array-or-object>,
* ...
* }
* <minuten>: String von Komma-separierten Minutenwerten, zu welchem die in <array-or-object> angegebenen Buchstaben aktiv sein sollen
* <array-or-object> : [ <object>, ...] | <object>
* <object>: { <zeile> : [ <spalte>, ... ] }
* <zeile>: Die Zeile, in welcher die Buchstaben liegen; von oben gezählt, oben ist 1.
* <spalte>: Die Spalte, in der ein einzelner Buchstabe liegt; von links gezählt, links ist 1.
* Beispiel:
* "minutes": {
* "0,1": {1: [6, 7, 9]},
* "5": [ {3: [1, 2]}, {4: [10, 11]} ]
* }
* Erklärung:
* Bei Minuten 0 und 1 sind die Buchstaben 6, 7 und 9 der ersten Zeile aktiv.
* Bei Minute 5 sind die Buchstaben 1 und 2 der Zeile 3 sowie die Buchstaben 10 und 11 der Zeile 4 aktiv.
*/
"minutes": {
"5,6,7,8,9": [fuef, ab],
"10,11,12,13,14": [zae, ab],
"15,16,17,18,19": [viertu, ab],
"20,21,22,23,24": [zwaenzg, ab],
"25,26,27,28,29": [fuef, vor, haubi],
"30,31,32,33,34": haubi,
"35,36,37,38,39": [fuef, ab, haubi],
"40,41,42,43,44": [zwaenzg, vor],
"45,46,47,48,49": [viertu, vor],
"50,51,52,53,54": [zae, vor],
"55,56,57,58,59": [fuef, vor]
},
// Die Stunden; gleiches Format wie bei den Minuten
"hours": {
"0,12": {10: [1, 2, 3, 4, 5, 6]},
"1,13": {5: [1, 2, 3]},
"2,14": {5: [4, 5, 6, 7]},
"3,15": {5: [9, 10, 11]},
"4,16": {6: [1, 2, 3, 4, 5]},
"5,17": {6: [6, 7, 8, 9]},
"6,18": {7: [1, 2, 3, 4, 5, 6]},
"7,19": {7: [7, 8, 9, 10, 11]},
"8,20": {8: [1, 2, 3, 4, 5]},
"9,21": {8: [6, 7, 8, 9]},
"10,22": {9: [1, 2, 3, 4]},
"11,23": {9: [8, 9, 10, 11]}
}
};
// Das Layout bei der Uhr unter dem Code "de_CH" registrieren.
$.fritteli.uhr.register('de_CH', layout);
}(jQuery));
(function($) {
'use strict';
var es_isch = {1: [1, 2, 4, 5, 6, 7]}; var es_isch = {1: [1, 2, 4, 5, 6, 7]};
var genau = {3: [7, 8, 9, 10, 11]}; var genau = {3: [7, 8, 9, 10, 11]};
var ab = {4: [4, 5]}; var ab = {4: [4, 5]};
@ -202,6 +145,7 @@
}; };
$.fritteli.uhr.register('de_CH_genau', layout); $.fritteli.uhr.register('de_CH_genau', layout);
}(jQuery)); }(jQuery));
/* /*
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -217,7 +161,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
(function($) { (function($) {
'use strict';
var klokken_er = {1: [1, 2, 3, 4, 5, 6, 7, 9, 10]}; var klokken_er = {1: [1, 2, 3, 4, 5, 6, 7, 9, 10]};
var minutter = {4: [4, 5, 6, 7, 8, 9, 10, 11]}; var minutter = {4: [4, 5, 6, 7, 8, 9, 10, 11]};
@ -282,8 +225,22 @@
}; };
$.fritteli.uhr.register('dk', layout); $.fritteli.uhr.register('dk', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
var it_is = {1: [1, 2, 4, 5]}; var it_is = {1: [1, 2, 4, 5]};
var half = {4: [1, 2, 3, 4]}; var half = {4: [1, 2, 3, 4]};
var to = {4: [10, 11]}; var to = {4: [10, 11]};
@ -349,8 +306,22 @@
}; };
$.fritteli.uhr.register('en', layout); $.fritteli.uhr.register('en', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
var es_la = {1: [1, 2, 6, 7]}; var es_la = {1: [1, 2, 6, 7]};
var son_las = {1: [2, 3, 4, 6, 7, 8]}; var son_las = {1: [2, 3, 4, 6, 7, 8]};
var y = {7: [6]}; var y = {7: [6]};
@ -416,8 +387,21 @@
$.fritteli.uhr.register('es', layout); $.fritteli.uhr.register('es', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
var il_est = {1: [1, 2, 4, 5, 6]}; var il_est = {1: [1, 2, 4, 5, 6]};
var et = {8: [1, 2]}; var et = {8: [1, 2]};
var moins = {7: [1, 2, 3, 4, 5]}; var moins = {7: [1, 2, 3, 4, 5]};
@ -517,8 +501,22 @@
}; };
$.fritteli.uhr.register('fr', layout); $.fritteli.uhr.register('fr', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
var sono_le = {1: [1, 2, 3, 4, 6, 7]}; var sono_le = {1: [1, 2, 3, 4, 6, 7]};
var e_l = {2: [1, 3, 4]}; var e_l = {2: [1, 3, 4]};
var e = {8: [1]}; var e = {8: [1]};
@ -583,8 +581,22 @@
}; };
$.fritteli.uhr.register('it', layout); $.fritteli.uhr.register('it', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
var het_is = {1: [1, 2, 3, 5, 6]}; var het_is = {1: [1, 2, 3, 5, 6]};
var over1 = {3: [1, 2, 3, 4]}; var over1 = {3: [1, 2, 3, 4]};
var voor1 = {2: [8, 9, 10, 11]}; var voor1 = {2: [8, 9, 10, 11]};
@ -650,8 +662,22 @@
}; };
$.fritteli.uhr.register('nl', layout); $.fritteli.uhr.register('nl', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function ($) { (function ($) {
'use strict';
var e_ = {1: [1]}; var e_ = {1: [1]};
var sao = {1: [2, 3, 4]}; var sao = {1: [2, 3, 4]};
var e1 = {7: [8]}; var e1 = {7: [8]};

1
dist/jquery.uhr.baselangs.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

1
dist/jquery.uhr.complete.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -1,8 +1,20 @@
/*! uhr - v8.0.4-dev.0 - 2016-06-27 'use strict';
* http://bärneruhr.ch/
* Copyright (c) 2016 Manuel Friedli; Licensed GPL-3.0 */ /*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
var es_ist = {1: [1, 2, 4, 5, 6]}; var es_ist = {1: [1, 2, 4, 5, 6]};
var uhr = {10: [9, 10, 11]}; var uhr = {10: [9, 10, 11]};
var nach = {4: [8, 9, 10, 11]}; var nach = {4: [8, 9, 10, 11]};
@ -61,8 +73,22 @@
}; };
$.fritteli.uhr.register('de', layout); $.fritteli.uhr.register('de', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
// hilfsvariablen // hilfsvariablen
var es_isch = {1: [1, 2, 4, 5, 6, 7]}; var es_isch = {1: [1, 2, 4, 5, 6, 7]};
var ab = {4: [1, 2]}; var ab = {4: [1, 2]};
@ -144,8 +170,22 @@
// Das Layout bei der Uhr unter dem Code "de_CH" registrieren. // Das Layout bei der Uhr unter dem Code "de_CH" registrieren.
$.fritteli.uhr.register('de_CH', layout); $.fritteli.uhr.register('de_CH', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
var es_isch = {1: [1, 2, 4, 5, 6, 7]}; var es_isch = {1: [1, 2, 4, 5, 6, 7]};
var genau = {3: [7, 8, 9, 10, 11]}; var genau = {3: [7, 8, 9, 10, 11]};
var ab = {4: [4, 5]}; var ab = {4: [4, 5]};
@ -202,6 +242,7 @@
}; };
$.fritteli.uhr.register('de_CH_genau', layout); $.fritteli.uhr.register('de_CH_genau', layout);
}(jQuery)); }(jQuery));
/* /*
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -217,7 +258,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
(function($) { (function($) {
'use strict';
var klokken_er = {1: [1, 2, 3, 4, 5, 6, 7, 9, 10]}; var klokken_er = {1: [1, 2, 3, 4, 5, 6, 7, 9, 10]};
var minutter = {4: [4, 5, 6, 7, 8, 9, 10, 11]}; var minutter = {4: [4, 5, 6, 7, 8, 9, 10, 11]};
@ -282,8 +322,22 @@
}; };
$.fritteli.uhr.register('dk', layout); $.fritteli.uhr.register('dk', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
var it_is = {1: [1, 2, 4, 5]}; var it_is = {1: [1, 2, 4, 5]};
var half = {4: [1, 2, 3, 4]}; var half = {4: [1, 2, 3, 4]};
var to = {4: [10, 11]}; var to = {4: [10, 11]};
@ -349,8 +403,22 @@
}; };
$.fritteli.uhr.register('en', layout); $.fritteli.uhr.register('en', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
var es_la = {1: [1, 2, 6, 7]}; var es_la = {1: [1, 2, 6, 7]};
var son_las = {1: [2, 3, 4, 6, 7, 8]}; var son_las = {1: [2, 3, 4, 6, 7, 8]};
var y = {7: [6]}; var y = {7: [6]};
@ -416,8 +484,21 @@
$.fritteli.uhr.register('es', layout); $.fritteli.uhr.register('es', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
var il_est = {1: [1, 2, 4, 5, 6]}; var il_est = {1: [1, 2, 4, 5, 6]};
var et = {8: [1, 2]}; var et = {8: [1, 2]};
var moins = {7: [1, 2, 3, 4, 5]}; var moins = {7: [1, 2, 3, 4, 5]};
@ -517,8 +598,22 @@
}; };
$.fritteli.uhr.register('fr', layout); $.fritteli.uhr.register('fr', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
var sono_le = {1: [1, 2, 3, 4, 6, 7]}; var sono_le = {1: [1, 2, 3, 4, 6, 7]};
var e_l = {2: [1, 3, 4]}; var e_l = {2: [1, 3, 4]};
var e = {8: [1]}; var e = {8: [1]};
@ -583,8 +678,22 @@
}; };
$.fritteli.uhr.register('it', layout); $.fritteli.uhr.register('it', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function($) { (function($) {
'use strict';
var het_is = {1: [1, 2, 3, 5, 6]}; var het_is = {1: [1, 2, 3, 5, 6]};
var over1 = {3: [1, 2, 3, 4]}; var over1 = {3: [1, 2, 3, 4]};
var voor1 = {2: [8, 9, 10, 11]}; var voor1 = {2: [8, 9, 10, 11]};
@ -650,8 +759,22 @@
}; };
$.fritteli.uhr.register('nl', layout); $.fritteli.uhr.register('nl', layout);
}(jQuery)); }(jQuery));
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
(function ($) { (function ($) {
'use strict';
var e_ = {1: [1]}; var e_ = {1: [1]};
var sao = {1: [2, 3, 4]}; var sao = {1: [2, 3, 4]};
var e1 = {7: [8]}; var e1 = {7: [8]};

1
dist/jquery.uhr.langs.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

1
dist/jquery.uhr.main.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

42
dist/libs.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/uhr-black.min.css vendored Normal file
View file

@ -0,0 +1 @@
.black .onoffswitch-inner:before,.uhr.black{background-color:#111}.uhr.black .dot:not(.active){border-color:hsla(0,0%,100%,.1);box-shadow:0 0 .1em hsla(0,0%,100%,.1)}.uhr.black .letter:not(.active){color:hsla(0,0%,100%,.1);text-shadow:0 0 .1em hsla(0,0%,100%,.1)}

1
dist/uhr-blue.min.css vendored Normal file
View file

@ -0,0 +1 @@
.blue .onoffswitch-inner:before,.uhr.blue{background-color:#00a}.uhr.blue .dot:not(.active){border-color:hsla(0,0%,100%,.1);box-shadow:0 0 .1em hsla(0,0%,100%,.1)}.uhr.blue .letter:not(.active){color:hsla(0,0%,100%,.1);text-shadow:0 0 .1em hsla(0,0%,100%,.1)}

1
dist/uhr-pink.min.css vendored Normal file
View file

@ -0,0 +1 @@
.uhr.pink{background-color:#f0a}.uhr.pink .dot.active{border-color:#fff;box-shadow:0 0 .1em #fff}.uhr.pink .letter.active{color:#fff;text-shadow:0 0 .1em #fff}.pink .onoffswitch-inner:before{background-color:#f0a}.uhr.pink .dot:not(.active){border-color:hsla(0,0%,100%,.1);box-shadow:0 0 .1em hsla(0,0%,100%,.1)}.uhr.pink .letter:not(.active){color:hsla(0,0%,100%,.1);text-shadow:0 0 .1em hsla(0,0%,100%,.1)}

1
dist/uhr-red.min.css vendored Normal file
View file

@ -0,0 +1 @@
.red .onoffswitch-inner:before,.uhr.red{background-color:#700}.uhr.red .dot:not(.active){border-color:hsla(0,0%,100%,.1);box-shadow:0 0 .1em hsla(0,0%,100%,.1)}.uhr.red .letter:not(.active){color:hsla(0,0%,100%,.1);text-shadow:0 0 .1em hsla(0,0%,100%,.1)}

1
dist/uhr-white.min.css vendored Normal file
View file

@ -0,0 +1 @@
.uhr.white{background-color:#ccc}.uhr.white .dot.active{border-color:#fff;box-shadow:0 0 .1em #fff}.uhr.white .letter.active{color:#fff;text-shadow:0 0 .1em #fff}.white .onoffswitch-inner:before{background-color:#ccc}.uhr.white .dot:not(.active){border-color:rgba(0,0,0,.1);box-shadow:0 0 .1em rgba(0,0,0,.1)}.uhr.white .letter:not(.active){color:rgba(0,0,0,.1);text-shadow:0 0 .1em rgba(0,0,0,.1)}

1
dist/uhr-yellow.min.css vendored Normal file
View file

@ -0,0 +1 @@
.uhr.yellow{background-color:#fd0}.uhr.yellow .dot.active{border-color:#fff;box-shadow:0 0 .1em #fff}.uhr.yellow .letter.active{color:#fff;text-shadow:0 0 .1em #fff}.yellow .onoffswitch-inner:before{background-color:#fd0}.uhr.yellow .dot:not(.active){border-color:rgba(0,0,0,.05);box-shadow:0 0 .1em rgba(0,0,0,.05)}.uhr.yellow .letter:not(.active){color:rgba(0,0,0,.05);text-shadow:0 0 .1em rgba(0,0,0,.05)}

1
dist/uhr.min.css vendored Normal file
View file

@ -0,0 +1 @@
@font-face{font-family:Uhrenfont;src:url(../resources/uhr.woff) format("woff")}body{font-family:Uhrenfont,sans-serif}.uhr{position:relative;margin:0;transition:background-color .5s}.uhr .reflection{position:absolute;top:0;bottom:0;left:0;right:0;background:radial-gradient(225em 45em at 160% 0,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.05) 40%,hsla(0,0%,100%,0) 0) no-repeat scroll;display:block;margin:.15em}.uhr .letterarea{display:block;position:absolute;top:12%;bottom:12%;left:12%;right:12%;overflow:hidden;font-size:200%}.item{transition:box-shadow .5s,text-shadow .5s,border-color .5s,color .5s}.dot{position:absolute;display:block;height:0;width:0;border:.2em solid;border-radius:1em}.dot.active{border-color:#eee;box-shadow:0 0 .2em #eee}.dot1{top:3.75%;left:3.75%}.dot2{top:3.75%;right:3.75%}.dot3{right:3.75%}.dot3,.dot4{bottom:3.75%}.dot4{left:3.75%}.letter{height:10%;width:9.0909%;padding:0;margin:0;display:inline-block;text-align:center;line-height:160%}.letter.active{color:#eee;text-shadow:0 0 .2em #eee}.onoffswitch{position:relative;width:86px;margin:1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.onoffswitch-checkbox{display:none}.onoffswitch-label{display:block;overflow:hidden;cursor:pointer;border:2px solid #999;border-radius:50px}.modeswitch-inner,.onoffswitch-inner{width:200%;margin-left:-100%;-moz-transition:margin .3s ease-in 0s;-webkit-transition:margin .3s ease-in 0s;-o-transition:margin .3s ease-in 0s;transition:margin .3s ease-in 0s}.modeswitch-inner:after,.modeswitch-inner:before,.onoffswitch-inner:after,.onoffswitch-inner:before{float:left;width:50%;height:24px;padding:0;line-height:24px;font-size:18px;color:#fff;font-weight:700;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.onoffswitch-inner:before{content:"EIN";padding-left:12px;color:#eee;transition:background-color .5s}.onoffswitch-inner:after{content:"AUS";padding-right:12px;background-color:#eee;color:#999;text-align:right}.onoffswitch-switch{width:30px;margin:-3px;background:#fff;border:2px solid #999;border-radius:50px;position:absolute;top:0;bottom:0;right:58px;-moz-transition:all .3s ease-in 0s;-webkit-transition:all .3s ease-in 0s;-o-transition:all .3s ease-in 0s;transition:all .3s ease-in 0s}.onoffswitch-checkbox:checked+.onoffswitch-label .modeswitch-inner,.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner{margin-left:0}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch{right:0}.modeswitch-inner:before{content:"MIN";padding-left:12px;background-color:#fff;color:#000}.modeswitch-inner:after{content:"SEC";padding-right:12px;background-color:#fff;color:#000;text-align:right}a.uhr-configlink{cursor:pointer;background:url(../resources/settings.png) no-repeat;width:24px;height:24px;display:inline-block;margin:2px;vertical-align:top}.uhr-controlpanel{border-radius:.5em;box-shadow:0 0 1em #000;background-color:#fff;display:inline-block;padding:.5em;position:sticky;bottom:0;margin-left:1em}.uhr-controlpanel .content{position:relative}a.uhr-closecontrolpanel{cursor:pointer;display:inline-block;position:absolute;right:0;top:-1em;width:24px;height:24px;background:url(../resources/close.png) no-repeat}#disclaimer{font-size:.5em}#disclaimer a{color:#444;text-decoration:underline}

View file

@ -1,14 +0,0 @@
import { AppPage } from './app.po';
describe('uhr App', () => {
let page: AppPage;
beforeEach(() => {
page = new AppPage();
});
it('should display welcome message', () => {
page.navigateTo();
expect(page.getParagraphText()).toEqual('Welcome to app!');
});
});

View file

@ -1,11 +0,0 @@
import { browser, by, element } from 'protractor';
export class AppPage {
navigateTo() {
return browser.get('/');
}
getParagraphText() {
return element(by.css('app-root h1')).getText();
}
}

View file

@ -1,14 +0,0 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/e2e",
"baseUrl": "./",
"module": "commonjs",
"target": "es5",
"types": [
"jasmine",
"jasminewd2",
"node"
]
}
}

View file

@ -29,7 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<link rel="stylesheet" type="text/css" href="dist/uhr-green.min.css" data-class="green" data-name="Grün"/> <link rel="stylesheet" type="text/css" href="dist/uhr-green.min.css" data-class="green" data-name="Grün"/>
<link rel="stylesheet" type="text/css" href="dist/uhr-blue.min.css" data-class="blue" data-name="Blau"/> <link rel="stylesheet" type="text/css" href="dist/uhr-blue.min.css" data-class="blue" data-name="Blau"/>
<link rel="stylesheet" type="text/css" href="dist/uhr-pink.min.css" data-class="pink" data-name="Pink"/> <link rel="stylesheet" type="text/css" href="dist/uhr-pink.min.css" data-class="pink" data-name="Pink"/>
<link rel="shortcut icon" type="image/png" href="../src/favicon.png"/> <link rel="shortcut icon" type="image/png" href="resources/favicon.png"/>
<link rel="apple-touch-icon-precomposed" href="resources/apple-touch-icon-precomposed.png"/> <link rel="apple-touch-icon-precomposed" href="resources/apple-touch-icon-precomposed.png"/>
<script type="text/javascript" src="dist/libs.min.js"></script> <script type="text/javascript" src="dist/libs.min.js"></script>
<script type="text/javascript" src="dist/jquery.uhr.complete.min.js"></script> <script type="text/javascript" src="dist/jquery.uhr.complete.min.js"></script>

View file

@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<link rel="stylesheet" type="text/css" href="../dist/uhr-black.min.css" data-class="black"/> <link rel="stylesheet" type="text/css" href="../dist/uhr-black.min.css" data-class="black"/>
<link rel="stylesheet" type="text/css" href="../dist/uhr-red.min.css" data-class="red"/> <link rel="stylesheet" type="text/css" href="../dist/uhr-red.min.css" data-class="red"/>
<link rel="stylesheet" type="text/css" href="info.css"/> <link rel="stylesheet" type="text/css" href="info.css"/>
<link rel="shortcut icon" type="image/png" href="../../src/favicon.png"/> <link rel="shortcut icon" type="image/png" href="../resources/favicon.png"/>
<script type="text/javascript" src="../dist/libs.min.js"></script> <script type="text/javascript" src="../dist/libs.min.js"></script>
<script type="text/javascript" src="../dist/jquery.uhr.base.min.js"></script> <script type="text/javascript" src="../dist/jquery.uhr.base.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">
@ -289,7 +289,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<p>Der Quellcode ist frei zugänglich unter <a <p>Der Quellcode ist frei zugänglich unter <a
href="https://gittr.ch/manuel/uhr">https://gittr.ch/manuel/uhr</a>.</p> href="https://gittr.ch/manuel/uhr">https://gittr.ch/manuel/uhr</a>.</p>
<p>Detaillierte Informationen zur Verwendung und Konfiguration findest du in der <a href="../../README.md">README.md</a>. <p>Detaillierte Informationen zur Verwendung und Konfiguration findest du in der <a href="../README.md">README.md</a>.
</p> </p>
<h2 id="license">Lizenzbestimmungen<a href="#toc" class="toclink">Zum Inhalt</a></h2> <h2 id="license">Lizenzbestimmungen<a href="#toc" class="toclink">Zum Inhalt</a></h2>

View file

@ -1,33 +0,0 @@
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular/cli'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular/cli/plugins/karma')
],
client:{
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
reports: [ 'html', 'lcovonly' ],
fixWebpackSourcePaths: true
},
angularCli: {
environment: 'dev'
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};

View file

@ -1,5 +1,5 @@
CACHE MANIFEST CACHE MANIFEST
# Version 8.0.4-dev.0 # Version 9.0.0-dev.0
/ /
dist/jquery.uhr.base.min.js dist/jquery.uhr.base.min.js

3953
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,68 +1,63 @@
{ {
"name": "uhr", "name": "uhr",
"version": "8.0.4-dev.0", "version": "9.0.0-dev.0",
"description": "QLOCKTWO as an Angular app", "description": "jQuery QLOCKTWO plugin",
"keywords": [ "keywords": [
"qlocktwo" "jquery-plugin",
], "qlocktwo"
"scripts": { ],
"ng": "ng", "scripts": {
"start": "ng serve", "prebuild": "npm run clean",
"build": "ng build", "build": "npm-run-all --parallel rollup:js:* rollup:css:*",
"test": "ng test", "clean": "rimraf dist",
"lint": "ng lint", "rollup:js:app": "rollup --config build-config/rollup.config.js-app.js",
"e2e": "ng e2e" "rollup:js:base": "rollup --config build-config/rollup.config.js-base.js",
}, "rollup:js:baselangs": "rollup --config build-config/rollup.config.js-baselangs.js",
"homepage": "https://bärneruhr.ch/", "rollup:js:complete": "rollup --config build-config/rollup.config.js-complete.js",
"author": { "rollup:js:langs": "rollup --config build-config/rollup.config.js-langs.js",
"name": "Manuel Friedli", "rollup:js:libs": "rollup --config build-config/rollup.config.js-libs.js",
"email": "manuel@fritteli.ch", "rollup:css:app": "rollup --config build-config/rollup.config.css-app.js",
"url": "https://www.fritteli.ch/" "rollup:css:black": "rollup --config build-config/rollup.config.css-black.js",
}, "rollup:css:blue": "rollup --config build-config/rollup.config.css-blue.js",
"repository": { "rollup:css:green": "rollup --config build-config/rollup.config.css-green.js",
"type": "git", "rollup:css:pink": "rollup --config build-config/rollup.config.css-pink.js",
"url": "https://gittr.ch/manuel/uhr" "rollup:css:red": "rollup --config build-config/rollup.config.css-red.js",
}, "rollup:css:white": "rollup --config build-config/rollup.config.css-white.js",
"licenses": [ "rollup:css:yellow": "rollup --config build-config/rollup.config.css-yellow.js"
{ },
"type": "GPL-3.0" "homepage": "http://bärneruhr.ch/",
"author": {
"name": "Manuel Friedli",
"email": "manuel@fritteli.ch",
"url": "http://www.fritteli.ch/"
},
"repository": {
"type": "git",
"url": "https://gittr.ch/manuel/uhr"
},
"licenses": [
{
"type": "GPL-3.0"
}
],
"license": "GPL-3.0",
"dependencies": {
"jquery": "^3.5.0",
"jquery-ui": "1.12.1",
"jquery.cookie": "1.4.1"
},
"devDependencies": {
"@rollup/plugin-node-resolve": "^11.2.0",
"chai": "4.2.0",
"cssnano": "^4.1.10",
"jshint-stylish": "2.2.1",
"mocha": "^8.3.0",
"npm-run-all": "^4.1.5",
"phantomjs-prebuilt": "2.1.16",
"postcss": "^8.2.6",
"rimraf": "^3.0.2",
"rollup": "^2.39.1",
"rollup-plugin-css-bundle": "^1.0.4",
"rollup-plugin-terser": "^7.0.2"
} }
],
"license": "GPL-3.0",
"private": true,
"dependencies": {
"@angular/animations": "^5.0.0",
"@angular/common": "^5.0.0",
"@angular/compiler": "^5.0.0",
"@angular/core": "^5.0.0",
"@angular/forms": "^5.0.0",
"@angular/http": "^5.0.0",
"@angular/platform-browser": "^5.0.0",
"@angular/platform-browser-dynamic": "^5.0.0",
"@angular/router": "^5.0.0",
"core-js": "^2.4.1",
"rxjs": "^5.5.2",
"zone.js": "^0.8.14"
},
"devDependencies": {
"@angular/cli": "^1.5.0",
"@angular/compiler-cli": "^5.0.0",
"@angular/language-service": "^5.0.0",
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "^4.0.0",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"ts-node": "~3.2.0",
"tslint": "~5.7.0",
"typescript": "~2.4.2"
}
} }

View file

@ -1,28 +0,0 @@
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts
const { SpecReporter } = require('jasmine-spec-reporter');
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./e2e/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'chrome'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
onPrepare() {
require('ts-node').register({
project: 'e2e/tsconfig.e2e.json'
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};

View file

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View file

Before

Width:  |  Height:  |  Size: 407 B

After

Width:  |  Height:  |  Size: 407 B

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 435 B

After

Width:  |  Height:  |  Size: 435 B

View file

@ -1,8 +0,0 @@
<div #container class="uhr black">
<span class="item dot dot1"></span>
<span class="item dot dot2"></span>
<span class="item dot dot3"></span>
<span class="item dot dot4"></span>
<div class="letterarea"></div>
<div class="reflection"></div>
</div>

View file

@ -1,261 +0,0 @@
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
@font-face {
font-family: 'Uhrenfont';
src: url('../../_old/resources/uhr.woff') format('woff');
}
:host {
background: hotpink;
}
.uhr {
font-family: 'Uhrenfont', sans-serif;
position: relative;
margin: 0;
transition: background-color 0.5s;
.reflection {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: radial-gradient(225em 45em at 160% 0, rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0.05) 40%, rgba(255, 255, 255, 0) 40%) no-repeat scroll;
display: block;
margin: 0.15em;
}
.letterarea {
display: block;
position: absolute;
top: 12%;
bottom: 12%;
left: 12%;
right: 12%;
overflow: hidden;
font-size: 200%;
}
&.black {
background-color: #111;
.dot:not(.active) {
border-color: rgba(255, 255, 255, 0.1);
box-shadow: 0 0 0.1em rgba(255, 255, 255, 0.1);
}
.letter:not(.active) {
color: rgba(255, 255, 255, 0.1);
text-shadow: 0 0 0.1em rgba(255, 255, 255, 0.1);
}
}
}
.black .onoffswitch-inner:before {
background-color: #111;
}
.item {
transition: box-shadow 0.5s, text-shadow 0.5s, border-color 0.5s, color 0.5s;
}
.dot {
position: absolute;
display: block;
height: 0;
width: 0;
border: 0.2em solid;
border-radius: 1em;
}
.dot.active {
border-color: #eee;
box-shadow: 0 0 0.2em #eee;
}
.dot1 {
top: 3.75%;
left: 3.75%;
}
.dot2 {
top: 3.75%;
right: 3.75%;
}
.dot3 {
bottom: 3.75%;
right: 3.75%;
}
.dot4 {
bottom: 3.75%;
left: 3.75%;
}
.letter {
height: 10%;
width: 9.0909%;
padding: 0;
margin: 0;
display: inline-block;
text-align: center;
line-height: 160%;
}
.letter.active {
color: #eee;
text-shadow: 0 0 0.2em #eee;
}
//.onoffswitch {
// position: relative;
// width: 86px;
// margin: 1em;
// -webkit-user-select: none;
// -moz-user-select: none;
// -ms-user-select: none;
//}
//
//.onoffswitch-checkbox {
// display: none;
//}
//
//.onoffswitch-label {
// display: block;
// overflow: hidden;
// cursor: pointer;
// border: 2px solid #999;
// border-radius: 50px;
//}
//
//.onoffswitch-inner, .modeswitch-inner {
// width: 200%;
// margin-left: -100%;
// -moz-transition: margin 0.3s ease-in 0s;
// -webkit-transition: margin 0.3s ease-in 0s;
// -o-transition: margin 0.3s ease-in 0s;
// transition: margin 0.3s ease-in 0s;
//}
//
//.onoffswitch-inner:before, .onoffswitch-inner:after, .modeswitch-inner:before, .modeswitch-inner:after {
// float: left;
// width: 50%;
// height: 24px;
// padding: 0;
// line-height: 24px;
// font-size: 18px;
// color: white;
// font-weight: bold;
// -moz-box-sizing: border-box;
// -webkit-box-sizing: border-box;
// box-sizing: border-box;
//}
//
//.onoffswitch-inner:before {
// content: "EIN";
// padding-left: 12px;
// color: #eee;
// transition: background-color 0.5s;
//}
//
//.onoffswitch-inner:after {
// content: "AUS";
// padding-right: 12px;
// background-color: #eee;
// color: #999;
// text-align: right;
//}
//
//.onoffswitch-switch {
// width: 30px;
// margin: -3px;
// background: #fff;
// border: 2px solid #999;
// border-radius: 50px;
// position: absolute;
// top: 0;
// bottom: 0;
// right: 58px;
// -moz-transition: all 0.3s ease-in 0s;
// -webkit-transition: all 0.3s ease-in 0s;
// -o-transition: all 0.3s ease-in 0s;
// transition: all 0.3s ease-in 0s;
//}
//
//.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner,
//.onoffswitch-checkbox:checked + .onoffswitch-label .modeswitch-inner {
// margin-left: 0;
//}
//
//.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
// right: 0;
//}
//
//.modeswitch-inner:before {
// content: "MIN";
// padding-left: 12px;
// background-color: #fff;
// color: #000;
//}
//
//.modeswitch-inner:after {
// content: "SEC";
// padding-right: 12px;
// background-color: #fff;
// color: #000;
// text-align: right;
//}
//
//a.uhr-configlink {
// cursor: pointer;
// background: url("../resources/settings.png") no-repeat;
// width: 24px;
// height: 24px;
// display: inline-block;
// margin: 2px;
// vertical-align: top;
//}
//
//.uhr-controlpanel {
// border-radius: 0.5em;
// box-shadow: 0 0 1em black;
// background-color: #fff;
// display: inline-block;
// padding: 0.5em;
// position: sticky;
// bottom: 0;
// margin-left: 1em;
//}
//
//.uhr-controlpanel .content {
// position: relative;
//}
//
//a.uhr-closecontrolpanel {
// cursor: pointer;
// display: inline-block;
// position: absolute;
// right: 0;
// top: -1em;
// width: 24px;
// height: 24px;
// background: url("../resources/close.png") no-repeat;
//}
//
//#disclaimer {
// font-size: 0.5em;
//}
//
//#disclaimer a {
// color: #444;
// text-decoration: underline;
//}

View file

@ -1,27 +0,0 @@
import { TestBed, async } from '@angular/core/testing';
import { AppComponent } from './app.component';
describe('AppComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [
AppComponent
],
}).compileComponents();
}));
it('should create the app', async(() => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app).toBeTruthy();
}));
it(`should have as title 'app'`, async(() => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app.title).toEqual('app');
}));
it('should render title in a h1 tag', async(() => {
const fixture = TestBed.createComponent(AppComponent);
fixture.detectChanges();
const compiled = fixture.debugElement.nativeElement;
expect(compiled.querySelector('h1').textContent).toContain('Welcome to app!');
}));
});

View file

@ -1,140 +0,0 @@
import {AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild} from '@angular/core';
@Component({
selector: '[uhr]',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent implements AfterViewInit, OnInit {
@Input() size: string = '100%';
@Input() autoresize = true;
@ViewChild('container') container: ElementRef;
constructor(private element: ElementRef) {
}
ngOnInit(): void {
window.onresize = this.handleResize.bind(this);
}
ngAfterViewInit(): void {
const realWidthInPx = this.determineSizeInPx(this.size);
this.resizeToPx(realWidthInPx);
}
handleResize(event: UIEvent): boolean {
const parentWidth = AppComponent.getWidth(this.element);
const parentHeight = AppComponent.getHeight(this.element);
const windowWidth = window.innerWidth;
const windowHeight = window.innerHeight;
this.resizeToPx(Math.min(parentWidth, parentHeight, windowWidth, windowHeight));
return true;
}
private determineSizeInPx(size: string): number {
if (this.size === 'fill') {
this.element.nativeElement.style.width = '100%';
this.element.nativeElement.style.height = '100%';
const width: number = AppComponent.getWidth(this.container);
const height: number = AppComponent.getHeight(this.container);
return Math.min(width, height);
} else {
this.container.nativeElement.style.width = size;
return AppComponent.getWidth(this.container);
}
}
private resizeToPx(size: number): void {
this.container.nativeElement.style.width = `${size}px`;
this.container.nativeElement.style.height = `${size}px`;
this.container.nativeElement.style['font-size'] = `${size / 40}px`;
}
private static getWidth(e: ElementRef): number {
console.log('getting width', e);
return e.nativeElement.clientWidth;
}
private static getHeight(e: ElementRef): number {
console.log('getting height', e);
return e.nativeElement.clientHeight;
}
}
// var setWidth = function () {
// };
// var $ = function (p) {
// return {
// append: (a) => ({}),
// on: (a, b) => ({}),
// hide: (a?) => ({})
// };
// };
// var uhrGlobals = {languages: [], themes: []};
// var toggleConfigScreen = function () {
// };
// var setupHTML = function setupHTML() {
// var e = this.element;
// // Base clock area
// e.addClass('uhr');
// e.empty();
// e.append('<span class="item dot dot1"></span>');
// e.append('<span class="item dot dot2"></span>');
// e.append('<span class="item dot dot3"></span>');
// e.append('<span class="item dot dot4"></span>');
// e.append('<div class="letterarea"></div>');
// e.append('<div class="reflection"></div>');
// setWidth.bind(this)(this.options.width);
//
// if (this.options.controls) {
// var controlpanel = $('<div class="uhr-controlpanel" id="uhr-controlpanel' + this.id + '"></div>');
// var content = $('<div class="content"></div>');
// controlpanel.append(content);
// // on/off switch
// var toggleSwitch = $('<div class="onoffswitch" id="uhr-onoffswitch' + this.id + '"></div>');
// toggleSwitch.append('<input type="checkbox" class="onoffswitch-checkbox" id="uhr-onoffswitch-checkbox' + this.id +
// '" checked="checked" />');
// toggleSwitch.append('<label class="onoffswitch-label" for="uhr-onoffswitch-checkbox' + this.id + '">' +
// '<div class="onoffswitch-inner"></div>' + '<div class="onoffswitch-switch"></div>' + '</label>');
// content.append(toggleSwitch);
//
// // time mode switch
// var modeSwitch = $('<div class="onoffswitch" id="uhr-modeswitch' + this.id + '"></div>');
// modeSwitch.append('<input type="checkbox" class="onoffswitch-checkbox" id="uhr-modeswitch-checkbox' + this.id +
// '" checked="checked" />');
// modeSwitch.append('<label class="onoffswitch-label" for="uhr-modeswitch-checkbox' + this.id + '">' +
// '<div class="modeswitch-inner"></div>' + '<div class="onoffswitch-switch"></div>' +
// '</label>');
// content.append(modeSwitch);
// // language chooser
// if (uhrGlobals.languages.length > 1) {
// var languageChooser = $('<select id="uhr-languagechooser' + this.id + '"></select>');
// uhrGlobals.languages.forEach(function (item) {
// languageChooser.append('<option value="' + item.code + '">' + item.language + '</option>');
// });
// content.append(languageChooser);
// }
//
// // theme chooser
// if (uhrGlobals.themes.length > 1) {
// var themeChooser = $('<select id="uhr-themechooser' + this.id + '"></select>');
// uhrGlobals.themes.forEach(function (item) {
// themeChooser.append('<option value="' + item.styleClass + '">' + item.name + '</option>');
// });
// content.append(themeChooser);
// }
// var closebutton = $('<a class="uhr-closecontrolpanel" id="uhr-closecontrolpanel' + this.id + '"></a>');
// closebutton.on('click', function () {
// $('#uhr-controlpanel' + this.id).hide('fast');
// }.bind(this));
// content.append(closebutton);
// e.after(controlpanel);
// controlpanel.hide();
// var configlink = $('<a class="uhr-configlink" id="uhr-configlink' + this.id + '"></a>');
// configlink.on('click', function () {
// toggleConfigScreen.bind(this)();
// }.bind(this));
// e.after(configlink);
// }
// };

Some files were not shown because too many files have changed in this diff Show more