diff --git a/node/Gruntfile.js b/node/Gruntfile.js index 597ae71e8..3335c979a 100755 --- a/node/Gruntfile.js +++ b/node/Gruntfile.js @@ -1,6 +1,10 @@ module.exports = function(grunt) { var tasks = [ + + 'clean:build', + + // compiles less 'less:buildCSS', @@ -19,6 +23,9 @@ module.exports = function(grunt) { // creates release js of all together 'uglify:buildReleaseJS', + // cleans docs folder + 'clean:docs', + // copies files over to docs 'copy:toDocs' ], @@ -39,10 +46,25 @@ module.exports = function(grunt) { } }, + clean: { + build : { + cwd: '../build', + src: '*' + }, + docs : { + cwd: 'src/files/components/semantic/', + src: '*' + } + }, + less: { + options: { + compress : false, + optimization : 2 + }, buildCSS: { - options: { - paths: ['../build'] + options : { + paths : ['../build'] }, expand : true, cwd : '../src', @@ -93,7 +115,7 @@ module.exports = function(grunt) { files: [ { expand : true, - cwd : '../build', + cwd : '../build/uncompressed', src : [ '**' ], @@ -179,7 +201,7 @@ module.exports = function(grunt) { }; - + grunt.loadNpmTasks('grunt-contrib-clean'); grunt.loadNpmTasks('grunt-bower-task'); grunt.loadNpmTasks('grunt-css'); diff --git a/node/node_modules/grunt-contrib-clean/.jshintrc b/node/node_modules/grunt-contrib-clean/.jshintrc new file mode 100644 index 000000000..6b4c1a9b1 --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/.jshintrc @@ -0,0 +1,14 @@ +{ + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "sub": true, + "undef": true, + "boss": true, + "eqnull": true, + "node": true, + "es5": true +} diff --git a/node/node_modules/grunt-contrib-clean/.npmignore b/node/node_modules/grunt-contrib-clean/.npmignore new file mode 100644 index 000000000..5cb6bfd4d --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/.npmignore @@ -0,0 +1,3 @@ +node_modules +npm-debug.log +tmp \ No newline at end of file diff --git a/node/node_modules/grunt-contrib-clean/.travis.yml b/node/node_modules/grunt-contrib-clean/.travis.yml new file mode 100644 index 000000000..57661910e --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/.travis.yml @@ -0,0 +1,6 @@ +language: node_js +node_js: + - "0.8" + - "0.10" +before_script: + - npm install -g grunt-cli \ No newline at end of file diff --git a/node/node_modules/grunt-contrib-clean/AUTHORS b/node/node_modules/grunt-contrib-clean/AUTHORS new file mode 100644 index 000000000..393d81454 --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/AUTHORS @@ -0,0 +1,6 @@ +Tim Branyen (http://tbranyen.com/) +Tyler Kellen (http://goingslowly.com/) +Chris Talkington (http://christalkington.com/) +Sebastian Golasch (http://www.asciidisco.com/) +Vlad Filippov (http://vf.io) +"Cowboy" Ben Alman (http://benalman.com/) diff --git a/node/node_modules/grunt-contrib-clean/CHANGELOG b/node/node_modules/grunt-contrib-clean/CHANGELOG new file mode 100644 index 000000000..c05fff0dd --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/CHANGELOG @@ -0,0 +1,32 @@ +v0.4.1: + date: 2013-04-16 + changes: + - Check if file exists to avoid trying to delete a non-existent file. +v0.4.0: + date: 2013-02-15 + changes: + - First official release for Grunt 0.4.0. +v0.4.0rc6: + date: 2013-01-18 + changes: + - Updating grunt/gruntplugin dependencies to rc6. + - Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions. +v0.4.0rc5: + date: 2013-01-09 + changes: + - Updating to work with grunt v0.4.0rc5. + - Switching to this.filesSrc api. +v0.4.0a: + date: 2012-12-07 + changes: + - Conversion to grunt v0.4 conventions. + - Remove node v0.6 and grunt v0.3 support. + - Add force option to bypass CWD check. +v0.3.0: + date: 2012-09-23 + changes: + - Options no longer accepted from global config key. +v0.2.0: + date: 2012-09-10 + changes: + - Refactored from grunt-contrib into individual repo. diff --git a/node/node_modules/grunt-contrib-clean/CONTRIBUTING.md b/node/node_modules/grunt-contrib-clean/CONTRIBUTING.md new file mode 100644 index 000000000..5d08cc387 --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/CONTRIBUTING.md @@ -0,0 +1 @@ +Please see the [Contributing to grunt](http://gruntjs.com/contributing) guide for information on contributing to this project. diff --git a/node/node_modules/grunt-contrib-clean/Gruntfile.js b/node/node_modules/grunt-contrib-clean/Gruntfile.js new file mode 100644 index 000000000..9fed3f487 --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/Gruntfile.js @@ -0,0 +1,60 @@ +/* + * grunt-contrib-clean + * http://gruntjs.com/ + * + * Copyright (c) 2012 Tim Branyen, contributors + * Licensed under the MIT license. + */ + +'use strict'; + +module.exports = function(grunt) { + + // Project configuration. + grunt.initConfig({ + jshint: { + all: [ + 'Gruntfile.js', + 'tasks/*.js', + '<%= nodeunit.tests %>' + ], + options: { + jshintrc: '.jshintrc' + }, + }, + + // Configuration to be run (and then tested). + clean: { + short: ['tmp/sample_short'], + long: { + src: ['tmp/sample_long'], + }, + }, + + // Unit tests. + nodeunit: { + tests: ['test/*_test.js'], + }, + }); + + // Actually load this plugin's task(s). + grunt.loadTasks('tasks'); + + // These plugins provide necessary tasks. + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-nodeunit'); + grunt.loadNpmTasks('grunt-contrib-internal'); + + // Setup a test helper to create some folders to clean. + grunt.registerTask('copy', 'Copy fixtures to a temp location.', function() { + grunt.file.copy('test/fixtures/sample_long/long.txt', 'tmp/sample_long/long.txt'); + grunt.file.copy('test/fixtures/sample_short/short.txt', 'tmp/sample_short/short.txt'); + }); + + // Whenever the 'test' task is run, first create some files to be cleaned, + // then run this plugin's task(s), then test the result. + grunt.registerTask('test', ['copy', 'clean', 'nodeunit']); + + // By default, lint and run all tests. + grunt.registerTask('default', ['jshint', 'test', 'build-contrib']); +}; diff --git a/node/node_modules/grunt-contrib-clean/LICENSE-MIT b/node/node_modules/grunt-contrib-clean/LICENSE-MIT new file mode 100644 index 000000000..9bf64d19c --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/LICENSE-MIT @@ -0,0 +1,22 @@ +Copyright (c) 2012 Tim Branyen, contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/node/node_modules/grunt-contrib-clean/README.md b/node/node_modules/grunt-contrib-clean/README.md new file mode 100644 index 000000000..fc7d04a5c --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/README.md @@ -0,0 +1,83 @@ +# grunt-contrib-clean [![Build Status](https://secure.travis-ci.org/gruntjs/grunt-contrib-clean.png?branch=master)](http://travis-ci.org/gruntjs/grunt-contrib-clean) + +> Clean files and folders. + + + +## Getting Started +This plugin requires Grunt `~0.4.0` + +If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command: + +```shell +npm install grunt-contrib-clean --save-dev +``` + +Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript: + +```js +grunt.loadNpmTasks('grunt-contrib-clean'); +``` + +*This plugin was designed to work with Grunt 0.4.x. If you're still using grunt v0.3.x it's strongly recommended that [you upgrade](http://gruntjs.com/upgrading-from-0.3-to-0.4), but in case you can't please use [v0.3.2](https://github.com/gruntjs/grunt-contrib-clean/tree/grunt-0.3-stable).* + + + +## Clean task +_Run this task with the `grunt clean` command._ + +Task targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide. + +*Due to the destructive nature of this task, always be cautious of the paths you clean.* +### Options + +#### force +Type: `Boolean` +Default: false + +This overrides `grunt.file.delete` from blocking deletion of folders outside current working dir (CWD). Use with caution. + +### Usage Examples + +There are three formats you can use to run this task. + +#### Short + +```js +clean: ["path/to/dir/one", "path/to/dir/two"] +``` + +#### Medium (specific targets with global options) + +```js +clean: { + build: ["path/to/dir/one", "path/to/dir/two"], + release: ["path/to/another/dir/one", "path/to/another/dir/two"] +}, +``` + +#### Long (specific targets with per target options) + +```js +clean: { + build: { + src: ["path/to/dir/one", "path/to/dir/two"] + } +} +``` + +## Release History + + * 2013-04-16   v0.4.1   Check if file exists to avoid trying to delete a non-existent file. + * 2013-02-15   v0.4.0   First official release for Grunt 0.4.0. + * 2013-01-18   v0.4.0rc6   Updating grunt/gruntplugin dependencies to rc6. Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions. + * 2013-01-09   v0.4.0rc5   Updating to work with grunt v0.4.0rc5. Switching to this.filesSrc api. + * 2012-12-07   v0.4.0a   Conversion to grunt v0.4 conventions. Remove node v0.6 and grunt v0.3 support. Add force option to bypass CWD check. + * 2012-09-23   v0.3.0   Options no longer accepted from global config key. + * 2012-09-10   v0.2.0   Refactored from grunt-contrib into individual repo. + +--- + +Task submitted by [Tim Branyen](http://tbranyen.com/) + +*This file was generated on Tue Apr 16 2013 13:28:15.* diff --git a/node/node_modules/grunt-contrib-clean/package.json b/node/node_modules/grunt-contrib-clean/package.json new file mode 100644 index 000000000..1ef5263eb --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/package.json @@ -0,0 +1,76 @@ +{ + "name": "grunt-contrib-clean", + "description": "Clean files and folders.", + "version": "0.4.1", + "homepage": "https://github.com/gruntjs/grunt-contrib-clean", + "author": { + "name": "Grunt Team", + "url": "http://gruntjs.com/" + }, + "repository": { + "type": "git", + "url": "git://github.com/gruntjs/grunt-contrib-clean.git" + }, + "bugs": { + "url": "https://github.com/gruntjs/grunt-contrib-clean/issues" + }, + "licenses": [ + { + "type": "MIT", + "url": "https://github.com/gruntjs/grunt-contrib-clean/blob/master/LICENSE-MIT" + } + ], + "main": "Gruntfile.js", + "engines": { + "node": ">= 0.8.0" + }, + "scripts": { + "test": "grunt test" + }, + "devDependencies": { + "grunt-contrib-jshint": "~0.2.0", + "grunt-contrib-nodeunit": "~0.1.2", + "grunt-contrib-internal": "~0.4.4", + "grunt": "~0.4.0" + }, + "peerDependencies": { + "grunt": "~0.4.0" + }, + "keywords": [ + "gruntplugin" + ], + "contributors": [ + { + "name": "Tim Branyen", + "url": "http://tbranyen.com/" + }, + { + "name": "Tyler Kellen", + "url": "http://goingslowly.com/" + }, + { + "name": "Chris Talkington", + "url": "http://christalkington.com/" + }, + { + "name": "Sebastian Golasch", + "url": "http://www.asciidisco.com/" + }, + { + "name": "Vlad Filippov", + "url": "http://vf.io" + }, + { + "name": "\"Cowboy\" Ben Alman", + "url": "http://benalman.com/" + } + ], + "readme": "# grunt-contrib-clean [![Build Status](https://secure.travis-ci.org/gruntjs/grunt-contrib-clean.png?branch=master)](http://travis-ci.org/gruntjs/grunt-contrib-clean)\n\n> Clean files and folders.\n\n\n\n## Getting Started\nThis plugin requires Grunt `~0.4.0`\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-contrib-clean --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-contrib-clean');\n```\n\n*This plugin was designed to work with Grunt 0.4.x. If you're still using grunt v0.3.x it's strongly recommended that [you upgrade](http://gruntjs.com/upgrading-from-0.3-to-0.4), but in case you can't please use [v0.3.2](https://github.com/gruntjs/grunt-contrib-clean/tree/grunt-0.3-stable).*\n\n\n\n## Clean task\n_Run this task with the `grunt clean` command._\n\nTask targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide.\n\n*Due to the destructive nature of this task, always be cautious of the paths you clean.*\n### Options\n\n#### force\nType: `Boolean` \nDefault: false\n\nThis overrides `grunt.file.delete` from blocking deletion of folders outside current working dir (CWD). Use with caution.\n\n### Usage Examples\n\nThere are three formats you can use to run this task.\n\n#### Short\n\n```js\nclean: [\"path/to/dir/one\", \"path/to/dir/two\"]\n```\n\n#### Medium (specific targets with global options)\n\n```js\nclean: {\n build: [\"path/to/dir/one\", \"path/to/dir/two\"],\n release: [\"path/to/another/dir/one\", \"path/to/another/dir/two\"]\n},\n```\n\n#### Long (specific targets with per target options)\n\n```js\nclean: {\n build: {\n src: [\"path/to/dir/one\", \"path/to/dir/two\"]\n }\n}\n```\n\n## Release History\n\n * 2013-04-16   v0.4.1   Check if file exists to avoid trying to delete a non-existent file.\n * 2013-02-15   v0.4.0   First official release for Grunt 0.4.0.\n * 2013-01-18   v0.4.0rc6   Updating grunt/gruntplugin dependencies to rc6. Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions.\n * 2013-01-09   v0.4.0rc5   Updating to work with grunt v0.4.0rc5. Switching to this.filesSrc api.\n * 2012-12-07   v0.4.0a   Conversion to grunt v0.4 conventions. Remove node v0.6 and grunt v0.3 support. Add force option to bypass CWD check.\n * 2012-09-23   v0.3.0   Options no longer accepted from global config key.\n * 2012-09-10   v0.2.0   Refactored from grunt-contrib into individual repo.\n\n---\n\nTask submitted by [Tim Branyen](http://tbranyen.com/)\n\n*This file was generated on Tue Apr 16 2013 13:28:15.*\n", + "readmeFilename": "README.md", + "_id": "grunt-contrib-clean@0.4.1", + "dist": { + "shasum": "83f743ad1e8ec861723f22dad7bc023f0535c1a3" + }, + "_from": "grunt-contrib-clean@", + "_resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.4.1.tgz" +} diff --git a/node/node_modules/grunt-contrib-clean/tasks/clean.js b/node/node_modules/grunt-contrib-clean/tasks/clean.js new file mode 100644 index 000000000..e4fc0d53a --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/tasks/clean.js @@ -0,0 +1,37 @@ +/* + * grunt-contrib-clean + * http://gruntjs.com/ + * + * Copyright (c) 2012 Tim Branyen, contributors + * Licensed under the MIT license. + */ + +'use strict'; + +module.exports = function(grunt) { + + grunt.registerMultiTask('clean', 'Clean files and folders.', function() { + // Merge task-specific and/or target-specific options with these defaults. + var options = this.options({ + force: false + }); + + grunt.verbose.writeflags(options, 'Options'); + + // Clean specified files / dirs. + this.filesSrc.forEach(function(filepath) { + if (!grunt.file.exists(filepath)) { return; } + grunt.log.write('Cleaning "' + filepath + '"...'); + + try { + grunt.file.delete(filepath, options); + grunt.log.ok(); + } catch (e) { + grunt.log.error(); + grunt.verbose.error(e); + grunt.fail.warn('Clean operation failed.'); + } + }); + }); + +}; diff --git a/node/node_modules/grunt-contrib-clean/test/clean_test.js b/node/node_modules/grunt-contrib-clean/test/clean_test.js new file mode 100644 index 000000000..4db2ef822 --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/test/clean_test.js @@ -0,0 +1,22 @@ +'use strict'; + +var grunt = require('grunt'); + +exports.clean = { + short: function(test) { + test.expect(1); + + var expected = grunt.file.exists('tmp/sample_short'); + test.equal(expected, false, 'should remove the short directory using clean'); + + test.done(); + }, + long: function(test) { + test.expect(1); + + var expected = grunt.file.exists('tmp/sample_long'); + test.equal(expected, false, 'should remove the long directory using clean'); + + test.done(); + } +}; diff --git a/node/node_modules/grunt-contrib-clean/test/fixtures/sample_long/long.txt b/node/node_modules/grunt-contrib-clean/test/fixtures/sample_long/long.txt new file mode 100644 index 000000000..83f9fcffd --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/test/fixtures/sample_long/long.txt @@ -0,0 +1 @@ +txt diff --git a/node/node_modules/grunt-contrib-clean/test/fixtures/sample_short/short.txt b/node/node_modules/grunt-contrib-clean/test/fixtures/sample_short/short.txt new file mode 100644 index 000000000..83f9fcffd --- /dev/null +++ b/node/node_modules/grunt-contrib-clean/test/fixtures/sample_short/short.txt @@ -0,0 +1 @@ +txt diff --git a/node/package.json b/node/package.json index 42285ce83..a8b774ee1 100755 --- a/node/package.json +++ b/node/package.json @@ -61,7 +61,8 @@ "grunt-contrib-copy": "~0.4.1", "grunt-contrib-uglify": "~0.2.0", "grunt-contrib-cssmin": "~0.6.0", - "grunt-contrib-less": "~0.5.1" + "grunt-contrib-less": "~0.5.1", + "grunt-contrib-clean": "~0.4.1" }, "main": "node_modules/docpad/bin/docpad-server" } diff --git a/node/src/files/components/semantic/uncompressed/collections/form.css b/node/src/files/components/semantic/collections/form.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/collections/form.css rename to node/src/files/components/semantic/collections/form.css diff --git a/node/src/files/components/semantic/uncompressed/collections/grid.css b/node/src/files/components/semantic/collections/grid.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/collections/grid.css rename to node/src/files/components/semantic/collections/grid.css diff --git a/node/src/files/components/semantic/uncompressed/collections/items.css b/node/src/files/components/semantic/collections/items.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/collections/items.css rename to node/src/files/components/semantic/collections/items.css diff --git a/node/src/files/components/semantic/uncompressed/collections/menu.css b/node/src/files/components/semantic/collections/menu.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/collections/menu.css rename to node/src/files/components/semantic/collections/menu.css diff --git a/node/src/files/components/semantic/uncompressed/collections/message.css b/node/src/files/components/semantic/collections/message.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/collections/message.css rename to node/src/files/components/semantic/collections/message.css diff --git a/node/src/files/components/semantic/uncompressed/collections/table.css b/node/src/files/components/semantic/collections/table.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/collections/table.css rename to node/src/files/components/semantic/collections/table.css diff --git a/node/src/files/components/semantic/uncompressed/elements/banner.css b/node/src/files/components/semantic/elements/banner.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/banner.css rename to node/src/files/components/semantic/elements/banner.css diff --git a/node/src/files/components/semantic/uncompressed/elements/button.css b/node/src/files/components/semantic/elements/button.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/button.css rename to node/src/files/components/semantic/elements/button.css diff --git a/node/src/files/components/semantic/uncompressed/elements/divider.css b/node/src/files/components/semantic/elements/divider.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/divider.css rename to node/src/files/components/semantic/elements/divider.css diff --git a/node/src/files/components/semantic/uncompressed/elements/flags.css b/node/src/files/components/semantic/elements/flags.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/flags.css rename to node/src/files/components/semantic/elements/flags.css diff --git a/node/src/files/components/semantic/uncompressed/elements/footnote.css b/node/src/files/components/semantic/elements/footnote.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/footnote.css rename to node/src/files/components/semantic/elements/footnote.css diff --git a/node/src/files/components/semantic/uncompressed/elements/header.css b/node/src/files/components/semantic/elements/header.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/header.css rename to node/src/files/components/semantic/elements/header.css diff --git a/node/src/files/components/semantic/uncompressed/elements/icons.css b/node/src/files/components/semantic/elements/icons.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/icons.css rename to node/src/files/components/semantic/elements/icons.css diff --git a/node/src/files/components/semantic/uncompressed/elements/image.css b/node/src/files/components/semantic/elements/image.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/image.css rename to node/src/files/components/semantic/elements/image.css diff --git a/node/src/files/components/semantic/uncompressed/elements/label.css b/node/src/files/components/semantic/elements/label.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/label.css rename to node/src/files/components/semantic/elements/label.css diff --git a/node/src/files/components/semantic/uncompressed/elements/paperclip.css b/node/src/files/components/semantic/elements/paperclip.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/paperclip.css rename to node/src/files/components/semantic/elements/paperclip.css diff --git a/node/src/files/components/semantic/uncompressed/elements/progress.css b/node/src/files/components/semantic/elements/progress.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/progress.css rename to node/src/files/components/semantic/elements/progress.css diff --git a/node/src/files/components/semantic/uncompressed/elements/segment.css b/node/src/files/components/semantic/elements/segment.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/segment.css rename to node/src/files/components/semantic/elements/segment.css diff --git a/node/src/files/components/semantic/uncompressed/elements/step.css b/node/src/files/components/semantic/elements/step.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/step.css rename to node/src/files/components/semantic/elements/step.css diff --git a/node/src/files/components/semantic/uncompressed/elements/throbber.css b/node/src/files/components/semantic/elements/throbber.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/throbber.css rename to node/src/files/components/semantic/elements/throbber.css diff --git a/node/src/files/components/semantic/uncompressed/elements/well.css b/node/src/files/components/semantic/elements/well.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/elements/well.css rename to node/src/files/components/semantic/elements/well.css diff --git a/node/src/files/components/semantic/minified/fonts/icons.eot.REMOVED.git-id b/node/src/files/components/semantic/fonts/icons.eot.REMOVED.git-id similarity index 100% rename from node/src/files/components/semantic/minified/fonts/icons.eot.REMOVED.git-id rename to node/src/files/components/semantic/fonts/icons.eot.REMOVED.git-id diff --git a/node/src/files/components/semantic/minified/fonts/icons.svg.REMOVED.git-id b/node/src/files/components/semantic/fonts/icons.svg.REMOVED.git-id similarity index 100% rename from node/src/files/components/semantic/minified/fonts/icons.svg.REMOVED.git-id rename to node/src/files/components/semantic/fonts/icons.svg.REMOVED.git-id diff --git a/node/src/files/components/semantic/minified/fonts/icons.ttf.REMOVED.git-id b/node/src/files/components/semantic/fonts/icons.ttf.REMOVED.git-id similarity index 100% rename from node/src/files/components/semantic/minified/fonts/icons.ttf.REMOVED.git-id rename to node/src/files/components/semantic/fonts/icons.ttf.REMOVED.git-id diff --git a/node/src/files/components/semantic/minified/fonts/icons.woff b/node/src/files/components/semantic/fonts/icons.woff similarity index 100% rename from node/src/files/components/semantic/minified/fonts/icons.woff rename to node/src/files/components/semantic/fonts/icons.woff diff --git a/node/src/files/components/semantic/minified/images/button-error.gif b/node/src/files/components/semantic/images/button-error.gif similarity index 100% rename from node/src/files/components/semantic/minified/images/button-error.gif rename to node/src/files/components/semantic/images/button-error.gif diff --git a/node/src/files/components/semantic/minified/images/footnote.png b/node/src/files/components/semantic/images/footnote.png similarity index 100% rename from node/src/files/components/semantic/minified/images/footnote.png rename to node/src/files/components/semantic/images/footnote.png diff --git a/node/src/files/components/semantic/minified/images/loader-generic-transparent.gif b/node/src/files/components/semantic/images/loader-generic-transparent.gif similarity index 100% rename from node/src/files/components/semantic/minified/images/loader-generic-transparent.gif rename to node/src/files/components/semantic/images/loader-generic-transparent.gif diff --git a/node/src/files/components/semantic/minified/images/notecard-stripes.png b/node/src/files/components/semantic/images/notecard-stripes.png similarity index 100% rename from node/src/files/components/semantic/minified/images/notecard-stripes.png rename to node/src/files/components/semantic/images/notecard-stripes.png diff --git a/node/src/files/components/semantic/minified/images/paperclip.png b/node/src/files/components/semantic/images/paperclip.png similarity index 100% rename from node/src/files/components/semantic/minified/images/paperclip.png rename to node/src/files/components/semantic/images/paperclip.png diff --git a/node/src/files/components/semantic/minified/images/placeholder-subtle.png b/node/src/files/components/semantic/images/placeholder-subtle.png similarity index 100% rename from node/src/files/components/semantic/minified/images/placeholder-subtle.png rename to node/src/files/components/semantic/images/placeholder-subtle.png diff --git a/node/src/files/components/semantic/minified/images/placeholder-tiny.png b/node/src/files/components/semantic/images/placeholder-tiny.png similarity index 100% rename from node/src/files/components/semantic/minified/images/placeholder-tiny.png rename to node/src/files/components/semantic/images/placeholder-tiny.png diff --git a/node/src/files/components/semantic/minified/images/placeholder.png b/node/src/files/components/semantic/images/placeholder.png similarity index 100% rename from node/src/files/components/semantic/minified/images/placeholder.png rename to node/src/files/components/semantic/images/placeholder.png diff --git a/node/src/files/components/semantic/minified/images/throbber-blue-large.gif b/node/src/files/components/semantic/images/throbber-blue-large.gif similarity index 100% rename from node/src/files/components/semantic/minified/images/throbber-blue-large.gif rename to node/src/files/components/semantic/images/throbber-blue-large.gif diff --git a/node/src/files/components/semantic/minified/images/throbber-blue-medium.gif b/node/src/files/components/semantic/images/throbber-blue-medium.gif similarity index 100% rename from node/src/files/components/semantic/minified/images/throbber-blue-medium.gif rename to node/src/files/components/semantic/images/throbber-blue-medium.gif diff --git a/node/src/files/components/semantic/minified/images/throbber-blue-small.gif b/node/src/files/components/semantic/images/throbber-blue-small.gif similarity index 100% rename from node/src/files/components/semantic/minified/images/throbber-blue-small.gif rename to node/src/files/components/semantic/images/throbber-blue-small.gif diff --git a/node/src/files/components/semantic/minified/images/throbber-blue-tiny.gif b/node/src/files/components/semantic/images/throbber-blue-tiny.gif similarity index 100% rename from node/src/files/components/semantic/minified/images/throbber-blue-tiny.gif rename to node/src/files/components/semantic/images/throbber-blue-tiny.gif diff --git a/node/src/files/components/semantic/minified/images/throbber-large.gif b/node/src/files/components/semantic/images/throbber-large.gif similarity index 100% rename from node/src/files/components/semantic/minified/images/throbber-large.gif rename to node/src/files/components/semantic/images/throbber-large.gif diff --git a/node/src/files/components/semantic/minified/images/throbber-medium-white.gif b/node/src/files/components/semantic/images/throbber-medium-white.gif similarity index 100% rename from node/src/files/components/semantic/minified/images/throbber-medium-white.gif rename to node/src/files/components/semantic/images/throbber-medium-white.gif diff --git a/node/src/files/components/semantic/minified/images/throbber-medium.gif b/node/src/files/components/semantic/images/throbber-medium.gif similarity index 100% rename from node/src/files/components/semantic/minified/images/throbber-medium.gif rename to node/src/files/components/semantic/images/throbber-medium.gif diff --git a/node/src/files/components/semantic/minified/images/throbber-small.gif b/node/src/files/components/semantic/images/throbber-small.gif similarity index 100% rename from node/src/files/components/semantic/minified/images/throbber-small.gif rename to node/src/files/components/semantic/images/throbber-small.gif diff --git a/node/src/files/components/semantic/minified/images/throbber-tiny.gif b/node/src/files/components/semantic/images/throbber-tiny.gif similarity index 100% rename from node/src/files/components/semantic/minified/images/throbber-tiny.gif rename to node/src/files/components/semantic/images/throbber-tiny.gif diff --git a/node/src/files/components/semantic/minified/collections/form.min.css b/node/src/files/components/semantic/minified/collections/form.min.css deleted file mode 100644 index 45b4d8f7d..000000000 --- a/node/src/files/components/semantic/minified/collections/form.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.form{position:relative;width:35em;max-width:100%}.ui.form :first-child{margin-top:0}.ui.form>p{margin:1em 0}.ui.form .field{clear:both;margin:0 0 1em}.ui.form .field>label{margin:0 0 .3em;display:block;color:#555;font-size:.875em;line-height:1.2}.ui.form textarea,.ui.form input[type=text],.ui.form input[type=date],.ui.form input[type=password],.ui.textarea,.ui.input{width:100%;padding:.53em .7em;font-size:.825em;background-color:#FFF;border:1px solid rgba(0,0,0,.15);outline:0;color:#555;-webkit-border-radius:.3125em;-moz-border-radius:.3125em;border-radius:.3125em;-webkit-transition:background-color .3s ease-out;-moz-transition:background-color .3s ease-out;-o-transition:background-color .3s ease-out;-ms-transition:background-color .3s ease-out;transition:background-color .3s ease-out;-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.textarea,.ui.form textarea{line-height:1.33;min-height:8em;height:12em;max-height:24em;resize:vertical}.ui.form select{-webkit-tap-highlight-color:rgba(255,255,255,0)}.ui.form textarea,.ui.form input[type=checkbox]{vertical-align:top}.ui.form .divider{clear:both;margin:1em 0}.ui.form .info.message,.ui.form .warning.message,.ui.form .error.message{display:none}.ui.form .message:first-child{margin-top:0}.ui.form input:focus,.ui.form textarea:focus{color:rgba(20,20,20,.9);border-color:rgba(0,0,0,.3)}.ui.form.warning .warning.message{display:block}.ui.form.error .error.message{display:block}.ui.form .fields.error .field label,.ui.form .field.error label{font-weight:700;color:#EF3F49}.ui.form .fields.error .field textarea,.ui.form .fields.error .field input[type=text],.ui.form .fields.error .field input[type=date],.ui.form .fields.error .field input[type=password],.ui.form .field.error textarea,.ui.form .field.error input[type=text],.ui.form .field.error input[type=date],.ui.form .field.error input[type=password]{background-color:#FFFAFA;border-color:rgba(255,80,80,.7);color:rgba(255,80,80,.7)}.ui.form .field.error textarea:focus,.ui.form .field.error input:focus{border-color:#ff5050;color:#ff5050}.ui.form ::-webkit-input-placeholder{color:#E0E0E0}.ui.form ::-moz-placeholder{color:#E0E0E0}.ui.form :focus::-webkit-input-placeholder{color:#AAA}.ui.form :focus::-moz-placeholder{color:#AAA}.ui.form textarea.empty,.ui.form input.empty{color:#E0E0E0}.ui.form .error ::-webkit-input-placeholder{color:rgba(255,80,80,.4)}.ui.form .error ::-moz-placeholder{color:rgba(255,80,80,.4)}.ui.form .error :focus::-webkit-input-placeholder{color:rgba(255,80,80,.7)}.ui.form .error :focus::-moz-placeholder{color:rgba(255,80,80,.7)}.ui.form .field :disabled,.ui.form .field.disabled{opacity:.5}.ui.form .field.disabled :disabled{opacity:1}.ui.form.loading{position:relative}.ui.form.loading:after{position:absolute;top:0;left:0;content:'';width:100%;height:100%;background:rgba(255,255,255,.8) url(../images/throbber-large.gif) no-repeat 50% 50%}.ui.form.fluid{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.form input.attached{width:auto}.ui.form .date.field>label{position:relative}.ui.form .date.field>label:after{position:absolute;top:1.2em;right:.4em;font-family:Icons;content:'📅';font-size:1.5em;font-weight:400;color:#CCC}.ui.inverted.form label{color:#FFF}.ui.inverted.form .field.error textarea,.ui.inverted.form .field.error input[type=text]{background-color:#FCC}.ui.form .fields{clear:both}.ui.form .fields:after{content:' ';display:block;clear:both;visibility:hidden;line-height:0;height:0}.ui.form .fields .field{clear:none;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.form .fields .field:first-child{border-left:0;box-shadow:none}.ui.form .fields .field,.ui.form .two.fields .field{width:50%;padding-left:1%;padding-right:1%}.ui.form .three.fields .field{width:33.333%;padding-left:1%;padding-right:1%}.ui.form .four.fields .field{width:25%;padding-left:1%;padding-right:1%}.ui.form .five.fields .field{width:20%;padding-left:1%;padding-right:1%}.ui.form .fields .field:first-child{padding-left:0}.ui.form .fields .field:last-child{padding-right:0}.ui.form .inline.fields .field{width:auto}.ui.form .inline.fields .field>label,.ui.form .inline.fields .field>p,.ui.form .inline.fields .field>input,.ui.form .inline.fields .field>select,.ui.form .inline.field>label,.ui.form .inline.field>p,.ui.form .inline.field>input,.ui.form .inline.field>select{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:middle;font-size:1em}.ui.form .inline.fields .field>:first-child,.ui.form .inline.field>:first-child{margin:0 .5em 0 0}.ui.small.form{font-size:.875em}.ui.small.form textarea,.ui.small.form input[type=text],.ui.small.form input[type=password],.ui.small.form label{font-size:1em}.ui.large.form{font-size:1.125em}.ui.large.form label{font-weight:700} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/collections/grid.min.css b/node/src/files/components/semantic/minified/collections/grid.min.css deleted file mode 100644 index 1689fd56d..000000000 --- a/node/src/files/components/semantic/minified/collections/grid.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.grid{width:100%;display:block;text-align:center;font-size:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.grid:after,.ui.row:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.grid>.column,.ui.grid>.row>.column{display:inline-block;text-align:left;font-size:1rem;padding-left:1.33%;padding-right:1.33%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;vertical-align:top}.ui.grid>.row{display:block;width:100%}.ui.grid>.row{margin-top:2%;padding-top:2%}.ui.grid>.row:first-child{padding-top:0rem;margin-top:0rem}.ui.grid>.row>img,.ui.grid>.row>.column>img{max-width:100%}.ui.page.grid{padding:0 5%}@media only screen and (max-width:1000px){.ui.responsive.grid{padding:0 5.55%}}@media only screen and (min-width:1000px){.ui.responsive.grid{padding:0 8%}}@media only screen and (min-width:1500px){.ui.responsive.grid{padding:0 13%}}@media only screen and (min-width:1750px){.ui.responsive.grid{padding:0 18%}}@media only screen and (min-width:2000px){.ui.responsive.grid{padding:0 20%}}.ui.grid .one.wide.column{width:8.3333%}.ui.grid .two.wide.column{width:16.66667%}.ui.grid .three.wide.column{width:25%}.ui.grid .four.wide.column{width:33.3333%}.ui.grid .five.wide.column{width:41.6666%}.ui.grid .six.wide.column{width:50%}.ui.grid .seven.wide.column{width:58.3333%}.ui.grid .eight.wide.column{width:66.6666%}.ui.grid .nine.wide.column{width:75%}.ui.grid .ten.wide.column{width:83.3333%}.ui.grid .eleven.wide.column{width:91.666%}.ui.grid .twelve.wide.column{width:100%}.ui.grid>.column,.ui.grid>.row>.column{width:8.3333%}.ui.grid>.column:only-child,.ui.grid>.row>.column:only-child{width:100%}.ui.two.column.grid .column{width:50%}.ui.three.column.grid .column{width:33.3333%}.ui.four.column.grid .column{width:25%}.ui.five.column.grid .column{width:20%}.ui.six.column.grid .column{width:16.66667%}.ui.seven.column.grid .column{width:14.2857%}.ui.eight.column.grid .column{width:12.5%}.ui.nine.column.grid .column{width:11.1111%}.ui.ten.column.grid .column{width:10%}.ui.eleven.column.grid .column{width:9.0909%}.ui.fitted.grid{padding:0}.ui.fitted.row{padding-top:0}.ui.fitted.grid .column,.ui.grid .fitted.column{padding-left:0;padding-right:0}.ui.grid .left.aligned.column{float:left}.ui.grid .right.aligned.column{float:right}.ui.top.aligned.grid .column,.ui.grid .top.aligned.column,.ui.grid>.top.aligned.row .column{vertical-align:top}.ui.middle.aligned.grid .column,.ui.grid .middle.aligned.column,.ui.grid>.middle.aligned.row .column{vertical-align:middle}.ui.bottom.aligned.grid .column,.ui.grid .bottom.aligned.column,.ui.grid>.bottom.aligned.row .column{vertical-align:bottom}.ui.grid .equal.row .column{display:table-cell}@media only screen and (max-width:1000px){.ui.folding.grid{display:block!important}.ui.folding.grid .column{display:block!important;width:100%!important;padding:0!important}} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/collections/items.min.css b/node/src/files/components/semantic/minified/collections/items.min.css deleted file mode 100644 index 77923e060..000000000 --- a/node/src/files/components/semantic/minified/collections/items.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.items>.item{float:left;display:block;width:100%;margin:0;font-size:1em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.items:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.two.items{margin-left:-1%;margin-right:-1%}.ui.two.items>.item{width:48%;margin-left:1%;margin-right:1%}.ui.two.items>.item:nth-child(2n+1){clear:left}.ui.three.items{margin-left:-1%;margin-right:-1%}.ui.three.items>.item{width:31.333%;margin-left:1%;margin-right:1%}.ui.three.items>.item:nth-child(3n+1){clear:left}.ui.four.items{margin-left:-.5%;margin-right:-.5%}.ui.four.items>.item{width:24%;margin-left:.5%;margin-right:.5%}.ui.four.items>.item:nth-child(4n+1){clear:left}.ui.five.items{margin-left:-.5%;margin-right:-.5%}.ui.five.items>.item{width:19%;margin-left:.5%;margin-right:.5%}.ui.five.items>.item:nth-child(5n+1){clear:left}.ui.six.items{margin-left:-.5%;margin-right:-.5%}.ui.six.items>.item{width:15.66%;margin-left:.5%;margin-right:.5%}.ui.six.items>.item:nth-child(6n+1){clear:left}.ui.seven.items{margin-left:-.5%;margin-right:-.5%}.ui.seven.items>.item{width:13.28%;margin-left:.5%;margin-right:.5%;font-size:11px}.ui.seven.items>.item:nth-child(7n+1){clear:left}.ui.eight.items{margin-left:-.25%;margin-right:-.25%}.ui.eight.items>.item{width:12%;margin-left:.25%;margin-right:.25%;font-size:11px}.ui.eight.items>.item:nth-child(8n+1){clear:left}.ui.nine.items{margin-left:-.25%;margin-right:-.25%}.ui.nine.items>.item{width:10.61%;margin-left:.25%;margin-right:.25%;font-size:10px}.ui.nine.items>.item:nth-child(9n+1){clear:left}.ui.ten.items{margin-left:-.2%;margin-right:-.2%}.ui.ten.items>.item{width:9.6%;margin-left:.2%;margin-right:.2%;font-size:10px}.ui.ten.items>.item:nth-child(10n+1){clear:left}.ui.eleven.items{margin-left:-.2%;margin-right:-.2%}.ui.eleven.items>.item{width:8.69%;margin-left:.2%;margin-right:.2%;font-size:9px}.ui.eleven.items>.item:nth-child(11n+1){clear:left}.ui.twelve.items{margin-left:-.1%;margin-right:-.1%}.ui.twelve.items>.item{width:8.1333%;margin-left:.1%;margin-right:.1%;font-size:9px}.ui.twelve.items>.item:nth-child(12n+1){clear:left}.ui.items{margin-top:15px;margin-bottom:15px;padding:0}.ui.items>.item,.ui.items>.item>.image,.ui.items>.item>.image .overlay,.ui.items>.item>.content,.ui.items>.item>.extra{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.items>.item{display:block;position:relative;margin:.5em 0;min-height:3em;background-color:#FFF;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);-moz-border-radius:.33em;-webkit-border-radius:.33em;border-radius:.33em;padding:.5em}.ui.items>.item>.image{background-color:rgba(0,0,0,.05);display:table-cell;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.items>.item>.image>a,.ui.items>.item>.image>img{position:relative;display:block;width:100%;overflow:hidden;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.ui.items>.item>.image>a:after{position:absolute;display:block;content:'';z-index:2;top:0;left:0;width:100%;height:100%;-webkit-box-shadow:0 0 5px rgba(0,0,0,.2) inset;-moz-box-shadow:0 0 5px rgba(0,0,0,.2) inset;box-shadow:0 0 5px rgba(0,0,0,.2) inset}.ui.items>.item>.image>.overlay{position:absolute;bottom:0;left:0;background:transparent -webkit-linear-gradient(rgba(0,0,0,0) 0,rgba(0,0,0,.5) 100%);background:transparent -moz-linear-gradient(rgba(0,0,0,0) 0,rgba(0,0,0,.5) 100%);background:transparent -o-linear-gradient(rgba(0,0,0,0) 0,rgba(0,0,0,.5) 100%);background:transparent -ms-linear-gradient(rgba(0,0,0,0) 0,rgba(0,0,0,.5) 100%);background:transparent linear-gradient(rgba(0,0,0,0) 0,rgba(0,0,0,.5) 100%);padding:3% 2.5%;width:100%;font-size:1em;font-weight:700;color:#FFF;text-shadow:0 -1px 0 rgba(0,0,0,.6)}.ui.items>.item>.image>.overlay i{font-size:1.3em;font-weight:700}.ui.items>.item>.content{padding:4% 1% 6%;color:#888}.ui.items>.item>.content>.name,.ui.items>.item>.content>.title{display:block;margin-bottom:.3em;font-size:1.25em;font-weight:700}.ui.items>.item>.content p{line-height:1.33;margin:0 0 5%}.ui.items>.item>.content :last-child{margin-bottom:0}.ui.items>.item>.extra{color:#C6C7C9;padding:0 1% 1%}.ui.items>.item>.extra img{display:inline-block;vertical-align:middle}.ui.items>.item .avatar{display:inline-block;width:5.5%;min-width:15px;margin-right:.2em;vertical-align:middle}.ui.horizontal.items>.item,.ui.items>.horizontal.item{display:table}@media screen and (-webkit-min-device-pixel-ratio:0){.ui.items>.item{display:block}}.ui.horizontal.items>.item>.image .ui.items>.horizontal.item>.image{display:table-cell;width:50%}.ui.horizontal.items>.item>.image+.content,.ui.items>.horizontal.item>.image+.content{width:50%;display:table-cell}.ui.horizontal.items>.item>.content,.ui.items>.horizontal.item>.content{padding:1% 1.7% 11% 3%;vertical-align:top}.ui.horizontal.items>.item>.extra,.ui.items>.horizontal.item>.extra{position:absolute;padding:0;bottom:7%;left:3%;width:94%}.ui.horizontal.items>.item>.image+.content+.extra,.ui.items>.horizontal.item>.image+.content+.extra{bottom:7%;left:53%;width:44%}.ui.horizontal.items>.item .avatar,.ui.items>.horizontal.item .avatar{width:11.5%}.ui.items>.item .avatar{max-width:25px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/collections/menu.min.css b/node/src/files/components/semantic/minified/collections/menu.min.css deleted file mode 100644 index a42f69cf5..000000000 --- a/node/src/files/components/semantic/minified/collections/menu.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.menu{background-color:#FFF;font-size:0;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.ui.menu:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.menu>.item:first-child{border-radius:5px 0 0 5px}.ui.menu>.item:last-child{border-radius:0 5px 5px 0}.ui.menu .item,.ui.menu .item>a{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:middle;line-height:1.2em;min-height:1.25em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:opacity .1s linear,background .1s linear,box-shadow .1s linear;-moz-transition:opacity .1s linear,background .1s linear,box-shadow .1s linear;-o-transition:opacity .1s linear,background .1s linear,box-shadow .1s linear;-ms-transition:opacity .1s linear,background .1s linear,box-shadow .1s linear;transition:opacity .1s linear,background .1s linear,box-shadow .1s linear}.ui.menu .item .header{color:rgba(50,50,50,.95)}.ui.menu .item,.ui.menu .item>a{color:rgba(80,80,80,.95)}.ui.menu .item>a:hover{background-color:rgba(0,0,0,.03);color:rgba(30,30,30,.95)}.ui.menu .item .item,.ui.menu .item .item>a{color:rgba(30,30,30,.8)}.ui.menu .item .item .item,.ui.menu .item .item .item>a{color:rgba(30,30,30,.6)}.ui.menu .dropdown.item .menu .item,.ui.menu .dropdown.item .menu .item a{color:rgba(0,0,0,.75)}.ui.menu .item .menu a.item:hover,.ui.menu .item .menu a.item.hover,.ui.menu .item .menu .link.item:hover,.ui.menu .item .menu .link.item.hover{color:rgba(35,35,35,.95)}.ui.menu .dropdown.item .menu .item a:hover{color:rgba(0,0,0,.9)}.ui.menu .item.active,.ui.menu .item.active a{color:rgba(0,0,0,.95);-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.ui.menu .item{position:relative;display:inline-block;padding:.75em .95em;-webkit-tap-highlight-color:rgba(0,0,0,0);-moz-user-select:-moz-none;-khtml-user-select:none;user-select:none}.ui.menu .item>a{display:block;margin:-.75em -.95em;padding:.75em .95em}.ui.menu .menu.left,.ui.menu .item.left{float:left}.ui.menu .menu.right,.ui.menu .item.right{float:right}.ui.menu .item:before{position:absolute;content:'';top:0;right:0;width:1px;height:100%;background-image:-webkit-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1) 50%,rgba(0,0,0,.05) 100%);background-image:-moz-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1) 50%,rgba(0,0,0,.05) 100%);background-image:-o-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1) 50%,rgba(0,0,0,.05) 100%);background-image:-ms-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1) 50%,rgba(0,0,0,.05) 100%);background-image:linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1) 50%,rgba(0,0,0,.05) 100%)}.ui.menu .menu.right .item:before,.ui.menu .item.right:before{right:auto;left:0}.ui.menu .text.item>*,.ui.menu .item>p:only-child{line-height:1.3}.ui.menu .item>p:first-child{margin-top:0}.ui.menu .item>p:only-child{margin:0}.ui.menu .header.item{background-color:rgba(0,0,0,.15);font-weight:700;-webkit-box-shadow:0 -.1em 0 0 rgba(0,0,0,.1) inset;-moz-box-shadow:0 -.1em 0 0 rgba(0,0,0,.1) inset;box-shadow:0 -.1em 0 0 rgba(0,0,0,.1) inset}.ui.menu .dropdown.item{box-shadow:none!important;z-index:10}.ui.menu .dropdown.item .menu{overflow:hidden;height:0;width:0;position:absolute;top:100%;left:0;background-color:#FFF;opacity:0;-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-transition:opacity .2s ease-out;-moz-transition:opacity .2s ease-out;-o-transition:opacity .2s ease-out;-ms-transition:opacity .2s ease-out;transition:opacity .2s ease-out;z-index:11}.ui.menu .dropdown.item .menu .item{border:0;border-top:1px solid rgba(0,0,0,.1);font-size:.9em;display:block;color:rgba(0,0,0,.75);-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui.menu .dropdown.item .menu .item.active{font-weight:700}.ui.menu .dropdown.item .menu .item:first-child{border-top:0}.ui.menu .dropdown.item:last-child .menu{left:auto;right:0}.ui.menu .item>.label,.ui.menu .item>a>.label{font-size:.9em;line-height:1.33;margin:-.2em .6em;padding:.2em .6em;vertical-align:top;text-transform:none}.ui.vertical.menu .item>.label,.ui.vertical.menu .item>a>.label{display:block;float:right}.ui.menu .item>img:only-child{display:block;max-width:100%;margin:0 auto}.ui.link.menu .item:hover,.ui.menu .item.hover,.ui.menu .link.item:hover,.ui.menu a.item:hover,.ui.menu .dropdown.item.hover,.ui.menu .dropdown.item:hover,.ui.menu .dropdown.item .menu .item.hover,.ui.menu .dropdown.item .menu .item:hover{cursor:pointer;background-color:rgba(0,0,0,.02)}.ui.menu .dropdown.item:hover .menu{display:block;overflow:visible;min-width:150px;width:100%;height:auto;opacity:1;border:1px solid rgba(0,0,0,.1);border-top:0;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);-moz-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.ui.link.menu .item:active,.ui.menu .item.down,.ui.menu .link.item:active,.ui.menu a.item:active,.ui.menu .item>a:active,.ui.menu .dropdown.item .menu .item.down,.ui.menu .dropdown.item .menu .item:active{background-color:rgba(0,0,0,.05)}.ui.menu .item.active{border-top:.2em solid #999;padding-top:.55em;color:rgba(0,0,0,.95);background-color:rgba(0,0,0,.05)}.ui.vertical.menu .item.active{border-top:0;border-left:.2em solid #999;padding-top:.75em;padding-left:.75em}.ui.vertical.menu .item.active .menu .item.active{border-left:0}.ui.vertical.menu .item .menu .item.active{padding-top:.5em;padding-left:1.3em}.ui.menu .item.disabled,.ui.menu .item.disabled:hover,.ui.menu .item.disabled.hover{cursor:default;opacity:.3;background-color:transparent}.ui.inverted.menu{background-color:#333;box-shadow:none}.ui.inverted.menu .header.item{background-color:rgba(255,255,255,.15);-webkit-box-shadow:0 -.1em 0 0 rgba(255,255,255,.1) inset;-moz-box-shadow:0 -.1em 0 0 rgba(255,255,255,.1) inset;box-shadow:0 -.1em 0 0 rgba(255,255,255,.1) inset}.ui.inverted.menu .item,.ui.inverted.menu .item>a{color:#FFF}.ui.inverted.menu .item .item,.ui.inverted.menu .item .item>a{color:rgba(255,255,255,.8)}.ui.inverted.menu .item .item>a:hover{background-color:rgba(255,255,255,.03);color:rgba(255,255,255,.9)}.ui.inverted.menu .dropdown.item .menu .item,.ui.inverted.menu .dropdown.item .menu .item a{color:rgba(0,0,0,.75)}.ui.inverted.menu .item:before{background-image:-webkit-linear-gradient(top,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-moz-linear-gradient(top,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-o-linear-gradient(top,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-ms-linear-gradient(top,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:linear-gradient(top,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%)}.ui.vertical.inverted.menu .item:before{background-image:-webkit-linear-gradient(left,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-moz-linear-gradient(left,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-o-linear-gradient(left,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:-ms-linear-gradient(left,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%);background-image:linear-gradient(left,rgba(255,255,255,.03) 0,rgba(255,255,255,.1) 50%,rgba(255,255,255,.03) 100%)}.ui.inverted.menu .item.down,.ui.inverted.menu .dropdown.item:active,.ui.inverted.menu .link.item:active,.ui.inverted.menu a.item:active{background-color:rgba(255,255,255,.1);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.1) inset;-moz-box-shadow:1px 1px 1px rgba(0,0,0,.1) inset;box-shadow:1px 1px 1px rgba(0,0,0,.1) inset}.ui.link.inverted.menu .item:hover,.ui.inverted.menu .item.hover,.ui.inverted.menu .link.item:hover,.ui.inverted.menu a.item:hover,.ui.inverted.menu .dropdown.item.hover,.ui.inverted.menu .dropdown.item:hover{background-color:rgba(255,255,255,.05)}.ui.inverted.menu .item .menu a.item:hover,.ui.inverted.menu .item .menu a.item.hover,.ui.inverted.menu .item .menu .link.item:hover,.ui.inverted.menu .item .menu .link.item.hover{color:#fff}.ui.inverted.menu .item.active{border-color:transparent;background-color:rgba(255,255,255,.15)}.ui.inverted.menu .item.active,.ui.inverted.menu .item.active a{color:#fff}.ui.inverted.pointing.menu .item.active:after{background-color:#505050;box-shadow:none}.ui.inverted.pointing.menu .item.active:hover:after{background-color:#3B3B3B}.ui.grey.menu{background-color:#F0F0F0}.ui.inverted.green.menu{background-color:#A1CF64}.ui.inverted.green.pointing.menu .item.active:after{background-color:#A1CF64}.ui.inverted.red.menu{background-color:#EF4D6D}.ui.inverted.red.pointing.menu .item.active:after{background-color:#F16883}.ui.inverted.blue.menu{background-color:#6ECFF5}.ui.inverted.blue.pointing.menu .item.active:after{background-color:#6ECFF5}.ui.inverted.purple.menu{background-color:#564F8A}.ui.inverted.purple.pointing.menu .item.active:after{background-color:#564F8A}.ui.inverted.orange.menu{background-color:#F05940}.ui.inverted.orange.pointing.menu .item.active:after{background-color:#F05940}.ui.inverted.teal.menu{background-color:#00B5AD}.ui.inverted.teal.pointing.menu .item.active:after{background-color:#00B5AD}.ui.text.menu{background-color:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.text.menu .item{opacity:.6;margin:.35em .5em;padding:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-transition:opacity .1s linear;-moz-transition:opacity .1s linear;-o-transition:opacity .1s linear;-ms-transition:opacity .1s linear;transition:opacity .1s linear}.ui.text.menu .item:before{display:none}.ui.text.menu .header.item{background-color:transparent;margin:0 .5em 0 0;padding:.35em .5em;opacity:1;color:rgba(50,50,50,.8);font-size:.9rem;text-transform:uppercase;font-weight:700}.ui.fluid.text.menu{margin:0}.ui.vertical.text.menu .item{float:left;clear:left}.ui.vertical.text.menu .header.item{margin:0 0 .5em;padding:.35em .5em}.ui.text.menu .item.hover,.ui.text.menu .item:hover{opacity:1;background-color:transparent}.ui.text.menu .active.item{background-color:transparent;padding:0;border:0;opacity:1;font-weight:700}.ui.text.pointing.menu item.active:after{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.text.attached.menu{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.basic.menu{background-color:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui.basic.menu .item{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui.basic.menu .item:before{display:none}.ui.basic.pointing.menu item.active:after{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.basic.attached.menu{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.icon.menu,.ui.vertical.icon.menu{width:auto;display:inline-block;min-height:0}.ui.icon.menu .item{text-align:center;color:rgba(60,60,60,.7)}.ui.icon.menu .icon{display:block;margin:0 auto;color:#3c3c3c}.ui.icon.menu .icon:before{opacity:1}.ui.inverted.icon.menu .item{color:rgba(255,255,255,.8)}.ui.inverted.icon.menu .icon{color:#fff}.ui.labeled.icon.menu{text-align:center}.ui.labeled.icon.menu .icon{display:block;font-size:1.5em;margin:0 auto .3em}.ui.vertical.menu .item{display:block;border-left:0;border-right:0}.ui.vertical.menu>.item:first-child{border-radius:.325em .325em 0 0}.ui.vertical.menu>.item:last-child{border-radius:0 0 .325em .325em}.ui.vertical.menu .item:before{position:absolute;content:'';top:0;left:0;width:100%;height:1px;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.03) 0,rgba(0,0,0,.1) 1.5em,rgba(0,0,0,.03) 100%);background-image:-moz-linear-gradient(left,rgba(0,0,0,.03) 0,rgba(0,0,0,.1) 1.5em,rgba(0,0,0,.03) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.03) 0,rgba(0,0,0,.1) 1.5em,rgba(0,0,0,.03) 100%);background-image:-ms-linear-gradient(left,rgba(0,0,0,.03) 0,rgba(0,0,0,.1) 1.5em,rgba(0,0,0,.03) 100%);background-image:linear-gradient(left,rgba(0,0,0,.03) 0,rgba(0,0,0,.1) 1.5em,rgba(0,0,0,.03) 100%)}.ui.vertical.menu .item:first-child:before{background-image:none}.ui.vertical.menu .dropdown.item>i{float:right}.ui.vertical.menu .dropdown.item .menu{width:auto;top:0;left:100%;margin:0 0 0 1px;-moz-border-radius:0 5px 5px 0;-webkit-border-radius:0 5px 5px 0;border-radius:0 5px 5px 0;border-left:0;border:1px solid rgba(0,0,0,.1);font-size:1em}.ui.vertical.menu .dropdown.item .menu .item{font-size:1em}.ui.vertical.menu .item>.menu{margin:.5em -1em 0}.ui.vertical.menu .item>.menu>.item>.icon{margin-right:.7em}.ui.vertical.menu .item>.menu>.item{padding:.5em 1.5em;font-size:.85em}.ui.vertical.menu .item>.menu>.item:before{display:none}.ui.vertical.menu .item>.menu>.item>a{margin:-.5em -1.5em;padding:.5em 1.5em}.ui.fitted.menu .item,.ui.fitted.menu .item>a,.ui.fitted.menu .item .menu .item,.ui.fitted.menu .item .menu .item>a,.ui.menu .fitted.item,.ui.menu .fitted.item>a{padding-top:0;padding-bottom:0}.ui.tight.menu .item,.ui.tight.menu .item>a,.ui.tight.menu .item .menu .item,.ui.tight.menu .item .menu .item>a,.ui.menu .tight.item,.ui.menu .tight.item>a{padding:0}.ui.borderless.menu .item:before,.ui.borderless.menu .item>a:before,.ui.borderless.menu .item .menu .item:before,.ui.borderless.menu .item .menu .item>a:before,.ui.menu .borderless.item:before,.ui.menu .borderless.item>a:before{background-image:none}.ui.compact.menu{display:inline-block}.ui.vertical.compact.menu{width:auto!important}.ui.menu.fluid,.ui.vertical.menu.fluid{width:100%}.ui.item.menu,.ui.item.menu .item{width:100%;padding-left:0!important;padding-right:0!important;text-align:center}.ui.menu.two.item .item{width:50%}.ui.menu.three.item .item{width:33.333%}.ui.menu.four.item .item{width:25%}.ui.menu.five.item .item{width:20%}.ui.menu.six.item .item{width:16.666%}.ui.menu.seven.item .item{width:14.285%}.ui.menu.eight.item .item{width:12.5%}.ui.menu.nine.item .item{width:11.11%}.ui.menu.ten.item .item{width:10%}.ui.menu.eleven.item .item{width:9.09%}.ui.menu.twelve.item .item{width:8.333%}.ui.menu.fixed{position:fixed;z-index:10;width:100%;border:0}.ui.menu.fixed,.ui.menu.fixed .item:first-child,.ui.menu.fixed .item:last-child{-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important}.ui.menu.fixed.top{top:0;left:0;right:auto;bottom:auto}.ui.menu.fixed.right{top:0;right:0;left:auto;bottom:auto;width:auto;height:100%}.ui.menu.fixed.bottom{bottom:0;left:0;top:auto;right:auto}.ui.menu.fixed.left{top:0;left:0;right:auto;bottom:auto;width:auto;height:100%}.ui.pointing.menu .item.active:after{position:absolute;bottom:-.35em;left:50%;content:"";margin-left:-.3em;width:.6em;height:.6em;border:0;border-bottom:1px solid rgba(0,0,0,.1);border-right:1px solid rgba(0,0,0,.1);background-image:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;-o-transition:background .1s linear;-ms-transition:background .1s linear;transition:background .1s linear}.ui.vertical.pointing.menu .item.active:after{position:absolute;top:50%;right:-.4em;bottom:auto;left:auto;border:0;border-top:1px solid rgba(0,0,0,.1);border-right:1px solid rgba(0,0,0,.1);margin-top:-.3em}.ui.pointing.menu .item.active:after{background-color:#F3F3F3}.ui.pointing.menu .item.active.hover:after,.ui.pointing.menu .item.active:hover:after{background-color:#FAFAFA}.ui.pointing.menu .item.active.down:after,.ui.pointing.menu .item.active:active:after{background-color:#F0F0F0}.ui.menu.attached{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-moz-box-shadow:0 0 0 1px #DDD;-webkit-box-shadow:0 0 0 1px #DDD;box-shadow:0 0 0 1px #DDD}.ui.top.attached.menu{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.ui.menu.bottom.attached{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.ui.menu .dynamic.dropdown.item:hover .menu{display:none}.ui.menu .dynamic.dropdown.item.hover .menu{display:block}.ui.small.menu .item{font-size:.875rem;min-height:1.2em}.ui.small.vertical.menu{width:13rem}.ui.menu .item{font-size:1rem}.ui.vertical.menu{width:15rem}.ui.large.menu .item{font-size:1.125rem;min-height:1.35em}.ui.large.vertical.menu{width:18rem} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/collections/message.min.css b/node/src/files/components/semantic/minified/collections/message.min.css deleted file mode 100644 index 45370398e..000000000 --- a/node/src/files/components/semantic/minified/collections/message.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.message{position:relative;min-height:18px;margin:1em 0;height:auto;background-color:rgba(0,0,0,.04);padding:1em;line-height:1.33;color:rgba(0,0,0,.6);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.ui.message .header{font-size:1.33em;font-weight:700}.ui.message p{opacity:.85;margin:1em 0}.ui.message p:first-child{margin-top:0}.ui.message ul.list{opacity:.85;list-style-position:inside;margin:.2em 0;padding:0}.ui.message ul.list li{position:relative;list-style-type:none;font-style:italic;margin:0 0 0 1em;padding:0}.ui.message ul.list li:before{position:absolute;content:'\2022';top:-.05em;left:-.8em;height:100%;vertical-align:baseline;opacity:.5}.ui.message ul.list li:first-child{margin-top:0}.ui.message>.icon.close{cursor:pointer;position:absolute;top:1em;right:.5em;opacity:.7;-webkit-transition:opacity .1s linear;-moz-transition:opacity .1s linear;-o-transition:opacity .1s linear;-ms-transition:opacity .1s linear;transition:opacity .1s linear}.ui.message>.icon.close:hover{opacity:1}.ui.message.visible,.ui.header.visible{display:block!important}.ui.message.hidden,.ui.header.hidden{display:none}.ui.compact.message{display:inline-block}.ui.attached.message{margin-bottom:0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;-webkit-box-shadow:0 0 0 1px #DDD;-moz-box-shadow:0 0 0 1px #DDD;box-shadow:0 0 0 1px #DDD}.ui.bottom.attached.message{margin-top:0;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;-webkit-box-shadow:0 0 0 1px #DDD;-moz-box-shadow:0 0 0 1px #DDD;box-shadow:0 0 0 1px #DDD}.ui.icon.message>.icon{display:table-cell;vertical-align:middle;font-size:3.8em;padding-right:.4em;opacity:.2}.ui.icon.message>.content{display:table-cell;vertical-align:middle}.ui.inverted.message{background-color:rgba(255,255,255,.05);color:rgba(255,255,255,.95)}.ui.black.message{background-color:#333;color:rgba(255,255,255,.95)}.ui.blue.message,.ui.info.message{border-color:#75C9E9;background-color:#E9F9FF;color:#1D6582}.ui.green.message,.ui.success.message,.ui.positive.message{background-color:#EEFFE9;color:#119000;border-color:#2FCB05}.ui.yellow.message,.ui.warning.message{background-color:#F6F3D5;border-color:#CBB105;color:#AF9801}.ui.red.message,.ui.error.message,.ui.negative.message{background-color:#F1D7D7;color:#AD0000;border-color:#B06C6C}.ui.small.message{font-size:.875em}.ui.message{font-size:1em}.ui.large.message{font-size:1.125em}.ui.huge.message{font-size:1.5em}.ui.massive.message{font-size:2px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/collections/table.min.css b/node/src/files/components/semantic/minified/collections/table.min.css deleted file mode 100644 index eee4bd83b..000000000 --- a/node/src/files/components/semantic/minified/collections/table.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.table{width:100%;background-color:#FFF;border-collapse:collapse;color:#444;color:rgba(0,0,0,.75);border:1px solid #DDD}.ui.table tr,.ui.table td{border-collapse:collapse;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .1s ease-out;-moz-transition:all .1s ease-out;-o-transition:all .1s ease-out;-ms-transition:all .1s ease-out;transition:all .1s ease-out}.ui.table thead{border-bottom:1px solid rgba(0,0,0,.1);background-color:rgba(50,50,50,.1)}.ui.table th{cursor:auto;text-align:left;font-weight:700;color:rgba(80,80,80,.85);padding:.5em .7em;vertical-align:middle}.ui.table tfoot th{font-weight:400;font-style:italic;color:rgba(0,0,0,.8)}.ui.table td{padding:.4em .7em;vertical-align:middle}.ui.table tfoot th{background-color:#FFF}.ui.table tfoot{border-top:1px dotted rgba(0,0,0,.1)}.ui.table tbody tr:nth-child(2n){background-color:rgba(0,0,0,.03)}.ui.table>.icon{vertical-align:baseline}.ui.table>.icon:only-child{margin:0}.ui.celled.table tr:hover td{background-color:rgba(0,0,0,.02);color:#000}.ui.sortable.table thead th:hover{background-image:none;background-color:rgba(0,0,0,.04);color:#333}.ui.sortable.table th.disabled:hover{cursor:auto;background-color:rgba(0,0,0,.1);text-align:left;font-weight:700;color:#333;color:rgba(0,0,0,.8)}.ui.table tr.positive td,.ui.table td.positive{background-color:#F2F8F0!important;color:#119000;-moz-box-shadow:0 0 1px 0 #3FF63B inset;-webkit-box-shadow:0 0 1px 0 #3FF63B inset;box-shadow:0 0 1px 0 #3FF63B inset}.ui.celled.table tr.positive:hover td,.ui.celled.table tr:hover td.positive,.ui.table tr.positive:hover td,.ui.table td:hover.positive,.ui.table th:hover.positive{background-color:#ECF5E9!important;color:#119000}.ui.table tr.negative td,.ui.table td.negative{background-color:#F9F4F4;color:#CD2929}.ui.celled.table tr.negative:hover td,.ui.celled.table tr:hover td.negative,.ui.table tr.negative:hover td,.ui.table td:hover.negative,.ui.table th:hover.negative{background-color:#F2E8E8!important;color:#CD2929}.ui.table tr.error td,.ui.table td.error,.ui.table th.error{background-color:#F9F4F4!important;color:#CD2929;-moz-box-shadow:0 0 1px 0 #F3A2A2 inset;-webkit-box-shadow:0 0 1px 0 #F3A2A2 inset;box-shadow:0 0 1px 0 #F3A2A2 inset}.ui.celled.table tr.error:hover td,.ui.celled.table tr:hover td.error,.ui.table tr.error:hover td,.ui.table td:hover.error,.ui.table th:hover.error{background-color:#F2E8E8!important;color:#CD2929}.ui.table tr.warning td,.ui.table td.warning,.ui.table th.warning{background-color:#FBF6E9;color:#7D6C00;-moz-box-shadow:0 0 1px 0 #FFE569 inset;-webkit-box-shadow:0 0 1px 0 #FFE569 inset;box-shadow:0 0 1px 0 #FFE569 inset}.ui.celled.table tr.warning:hover td,.ui.celled.table tr:hover td.warning,.ui.table tr.warning:hover td,.ui.table td:hover.warning,.ui.table th:hover.warning{background-color:#F3EDDC!important;color:#7D6C00}.ui.table tr.active td,.ui.table tr td.active{background-color:#F0F0F0!important;color:rgba(50,50,50,.9)}.ui.table tr.disabled td,.ui.table tr td.disabled,.ui.table tr.disabled:hover td,.ui.table tr:hover td.disabled{background-color:#FAFAFA!important;color:rgba(150,150,150,.5)}.ui.celled.table{color:rgba(25,25,25,.9)}.ui.celled.table tbody tr,.ui.celled.table tfoot tr{border:0}.ui.celled.table th{border:1px solid #E0E0E0}.ui.celled.table tbody td{border:1px solid #E0E0E0}.ui.sortable.table thead th{cursor:pointer;color:#555;vertical-align:top}.ui.sortable.table thead th.sorted,.ui.sortable.table thead th.sorted:hover{background-color:rgba(0,0,0,.8);color:#EEE}.ui.sortable.table thead th:after{display:inline-block;content:'';width:1em;opacity:.5;margin:0 0 0 8px;font-size:18px;line-height:12px;font-family:Icons;font-style:normal;font-weight:400;text-decoration:inherit;vertical-align:middle;vertical-align:calc()}.ui.sortable.table thead th.ascending:after{content:'\25b4'}.ui.sortable.table thead th.descending:after{content:'\25be'}.ui.collapsing.table{width:auto}.ui.padded.table th,.ui.padded.table td{padding:.8em 1em}.ui.compact.table th{padding:.3em .5em}.ui.compact.table td{padding:.2em .5em}.ui.small.table{font-size:14px}.ui.table{font-size:16px}.ui.large.table{font-size:18px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/banner.min.css b/node/src/files/components/semantic/minified/elements/banner.min.css deleted file mode 100644 index f23e7278b..000000000 --- a/node/src/files/components/semantic/minified/elements/banner.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.banner{position:relative;display:inline-block;vertical-align:middle;line-height:1;margin-left:6px;padding:8px 10px;border:1px solid #D4DBDE;background-color:#ECF6FB;text-align:center;font-size:10px;color:#999;color:rgba(0,0,0,.5)}.ui.banner b{color:#666}.ui.banner:after{position:absolute;top:50%;margin-top:-6px;font-size:12px}.ui.banner:after,.ui.banner.left:after{color:#ECF6FB;left:-7px;right:auto;content:'\25C0';text-shadow:-2px 0 0 #d4dbde}.ui.banner.right{margin-right:6px}.ui.banner.right:after{left:auto;right:-7px;content:'\25B6';text-shadow:2px 0 0 #D4DBDE}.ui.banner i{margin-right:.5em;vertical-align:baseline}.ui.banner.grey{border-color:#D6D6D6;background-color:#F3F3F3}.ui.banner.grey:after,.ui.banner.grey.left:after{color:#F3F3F3;text-shadow:-2px 0 0 #d6d6d6}.ui.banner.grey.right:after{color:#F3F3F3;text-shadow:2px 0 0 #D6D6D6}.ui.banner.big{font-size:12px;padding:11px 15px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/button.min.css b/node/src/files/components/semantic/minified/elements/button.min.css deleted file mode 100644 index 580b7ab7d..000000000 --- a/node/src/files/components/semantic/minified/elements/button.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.button{cursor:pointer;display:inline-block;vertical-align:middle;min-height:1em;background-color:#F0F0F0;padding:.8em 1.5em;font-size:1rem;text-transform:uppercase;line-height:1;font-weight:700;font-style:normal;text-align:center;color:#7A7A7A;-webkit-border-radius:.3125em;-moz-border-radius:.3125em;border-radius:.3125em;-webkit-box-shadow:0 -.125em 0 rgba(0,0,0,.1) inset;-moz-box-shadow:0 -.125em 0 rgba(0,0,0,.1) inset;box-shadow:0 -.125em 0 rgba(0,0,0,.1) inset;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-transition:opacity .1s linear,background .1s linear,box-shadow .1s linear;-moz-transition:opacity .1s linear,background .1s linear,box-shadow .1s linear;-o-transition:opacity .1s linear,background .1s linear,box-shadow .1s linear;-ms-transition:opacity .1s linear,background .1s linear,box-shadow .1s linear;transition:opacity .1s linear,background .1s linear,box-shadow .1s linear}.ui.button:hover,.ui.button.hover{background-color:#E0E0E0}.ui.button:active,.ui.button.down{background-color:#DDD;-webkit-box-shadow:.125em .125em .125em 0 rgba(0,0,0,.1) inset;-moz-box-shadow:.125em .125em .125em 0 rgba(0,0,0,.1) inset;box-shadow:.125em .125em .125em 0 rgba(0,0,0,.1) inset}.ui.buttons .button.active,.ui.button.active{background-color:#E6E6E6;-webkit-box-shadow:0 .125em .125em 0 rgba(0,0,0,.15) inset;-moz-box-shadow:0 .125em .125em 0 rgba(0,0,0,.15) inset;box-shadow:0 .125em .125em 0 rgba(0,0,0,.15) inset}.ui.buttons .button.active,.ui.buttons .button.active a,.ui.button.active,.ui.button.active a{color:#7A7A7A}.ui.buttons .button.active.hover,.ui.button.active.hover{background:#E0E0E0;-webkit-box-shadow:0 .0625 .1875em 0 rgba(0,0,0,.2) inset;-moz-box-shadow:0 .0625 .1875em 0 rgba(0,0,0,.2) inset;box-shadow:0 .0625 .1875em 0 rgba(0,0,0,.2) inset}.ui.buttons .button.active.hover,.ui.buttons .button.active.hover a,.ui.button.active.hover,.ui.button.active.hover a{background:#DADADA;color:#555}.ui.button.loading,.ui.button.loading.hover{position:relative;cursor:default;opacity:.75;color:#888!important;background-image:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important;-webkit-transition:all 0s linear;-moz-transition:all 0s linear;-o-transition:all 0s linear;-ms-transition:all 0s linear;transition:all 0s linear}.ui.button.loading:after{position:absolute;top:0;left:0;width:100%;height:100%;content:'';background:#eee url(../images/throbber-tiny.gif) no-repeat 50% 50%;background-position:50% 50%;background-repeat:no-repeat;-moz-border-radius:.2em;-webkit-border-radius:.2em;border-radius:.2em}.ui.grey.button.loading,.ui.button.active.loading{border-color:#bbb}.ui.grey.button.loading:after,.ui.button.active.loading:after{background-color:#FAFAFA;background:url(../images/throbber-tiny.gif) no-repeat 50% 50%}.ui.huge.button.loading:after{background-image:url(../images/throbber-small.gif)}.ui.massive.buttons .button.loading:after,.ui.gigantic.buttons .button.loading:after,.ui.massive.button.loading:after,.ui.gigantic.button.loading:after{background-image:url(../images/throbber-medium.gif)}.ui.huge.grey.button.loading:after,.ui.huge.button.loading.active:after{background-image:url(../images/throbber-small.gif)}.ui.massive.grey.buttons .button.loading:after,.ui.gigantic.grey.buttons .button.loading:after,.ui.massive.grey.button.loading:after,.ui.gigantic.grey.button.loading:after,.ui.massive.grey.buttons .button.loading.active:after,.ui.gigantic.grey.buttons .button.loading.active:after,.ui.massive.button.loading.active:after,.ui.gigantic.button.loading.active:after{background-image:url(../images/throbber-medium.gif)}.ui.buttons .button.error,.ui.buttons .button.error.hover,.ui.buttons .button.error.down,.ui.button.error,.ui.button.error.hover,.ui.button.error.down{cursor:default;position:relative;background-color:#EE141D;color:#FFF;text-shadow:none;-webkit-transition:all 0s linear;-moz-transition:all 0s linear;-o-transition:all 0s linear;-ms-transition:all 0s linear;transition:all 0s linear}.ui.button.success,.ui.button.success.hover,.ui.button.success.down{background-color:#59B94B;color:#FFF;border-color:#588D0F}.ui.button.disabled,.ui.button.disabled.hover,.ui.button.disabled.down{cursor:default;color:#DDD;background-color:rgba(50,50,50,.05)!important;background-image:none!important;text-shadow:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui.buttons.black .button,.ui.button.black{background-color:#5C6166;color:#FFF}.ui.buttons.black .button.hover,.ui.buttons.black .button:hover,.ui.button.black.hover,.ui.button.black:hover{background-color:#888;color:#FFF}.ui.buttons.black .button.down,.ui.buttons.black .button:active,.ui.button.black.down,.ui.button.black:active{background-color:#888;color:#FFF}.ui.buttons.green .button,.ui.button.green{background-color:#A1CF64;color:#FFF}.ui.buttons.green .button.hover,.ui.buttons.green .button:hover,.ui.button.green.hover,.ui.button.green:hover{background-color:#89B84C;color:#FFF}.ui.buttons.green .button.down,.ui.buttons.green .button:active,.ui.button.green.down,.ui.button.green:active{background-color:#89B84C;color:#FFF}.ui.buttons.red .button,.ui.button.red{background-color:#EF4D6D;color:#FFF}.ui.buttons.red .button.hover,.ui.buttons.red .button:hover,.ui.button.red.hover,.ui.button.red:hover{background-color:#DE3859;color:#FFF}.ui.buttons.red .button.down,.ui.buttons.red .button:active,.ui.button.red.down,.ui.button.red:active{background-color:#DE3859;color:#FFF}.ui.buttons.blue .button,.ui.button.blue{background-color:#6ECFF5;color:#FFF}.ui.buttons.blue .button.hover,.ui.buttons.blue .button:hover,.ui.button.blue.hover,.ui.button.blue:hover{background-color:#1AB8F3;color:#FFF}.ui.buttons.blue .button.down,.ui.buttons.blue .button:active,.ui.button.blue.down,.ui.button.blue:active{background-color:#1AB8F3;color:#FFF}.ui.buttons.purple .button,.ui.button.purple{background-color:#564F8A;color:#FFF}.ui.buttons.purple .button.hover,.ui.buttons.purple .button:hover,.ui.button.purple.hover,.ui.button.purple:hover{background-color:#3E3773;color:#FFF}.ui.buttons.purple .button.down,.ui.buttons.purple .button:active,.ui.button.purple.down,.ui.button.purple:active{background-color:#3E3773;color:#FFF}.ui.buttons.teal .button,.ui.button.teal{background-color:#00B5AD;color:#FFF}.ui.buttons.teal .button.hover,.ui.buttons.teal .button:hover,.ui.button.teal.hover,.ui.button.teal:hover{background-color:#009A93;color:#FFF}.ui.buttons.teal .button.down,.ui.buttons.teal .button:active,.ui.button.teal.down,.ui.button.teal:active{background-color:#009A93;color:#FFF}.ui.buttons.positive .button,.ui.button.positive{background-color:#A1CF64;color:#FFF}.ui.buttons.positive .button.hover,.ui.buttons.positive .button:hover,.ui.button.positive.hover,.ui.button.positive:hover{background-color:#7DDC5C;color:#FFF}.ui.buttons.positive .button.down,.ui.buttons.positive .button:active,.ui.button.positive.down,.ui.button.positive:active{background-color:#7DDC5C;color:#FFF}.ui.buttons.negative .button,.ui.button.negative{background-color:#EF4D6D;color:#FFF}.ui.buttons.negative .button.hover,.ui.buttons.negative .button:hover,.ui.button.negative.hover,.ui.button.negative:hover{background-color:#DE3859;color:#FFF}.ui.buttons.negative .button.down,.ui.buttons.negative .button:active,.ui.button.negative.down,.ui.button.negative:active{background-color:#DE3859;color:#FFF}.ui.buttons.mini .button,.ui.mini.button{font-size:.5625rem}.ui.tiny.buttons .button,.ui.tiny.button{font-size:.625rem}.ui.small.buttons .button,.ui.small.button{font-size:.75rem}.ui.buttons .button,.ui.button{font-size:1rem}.ui.large.buttons .button,.ui.large.button{font-size:1.125rem}.ui.big.buttons .button,.ui.big.button{font-size:1.25rem}.ui.huge.buttons .button,.ui.huge.button{font-size:1.375rem}.ui.massive.buttons .button,.ui.massive.button{font-size:1.5rem;font-weight:700}.ui.gigantic.buttons .button,.ui.gigantic.button{font-size:2rem;font-weight:700}.ui.button i{line-height:1;margin-right:.2em}.ui.button i.icon.left,.ui.button i.icon.left-open,.ui.button i.icon.left-dir{margin:0 .2em}.ui.button i.icon.up,.ui.button i.icon.up-open,.ui.button i.icon.up-dir,.ui.button i.icon.down,.ui.button i.icon.down-open,.ui.button i.icon.down-dir,.ui.button i.icon.right,.ui.button i.icon.right-open,.ui.button i.icon.right-dir{margin:0}.ui.icon.buttons .button,.ui.icon.button{padding:.75em}.ui.icon.buttons .button i,.ui.icon.button i{margin:0;vertical-align:top}.ui.labeled.icon.buttons .button .icon,.ui.labeled.icon.button .icon{display:block;font-size:1.5em;margin:0 auto .3em}.ui.toggle.buttons .button.active,.ui.buttons .button.toggle.active,.ui.button.toggle.active{background-color:#BBF0A9;color:#1C8C21}.ui.buttons.toggle .ui.button.active.hover,.ui.buttons .ui.button.toggle.active.hover,.ui.button.toggle.active.hover{color:#21A627;background-color:#BBF0A9;-webkit-box-shadow:0 0 4px -2px rgba(0,0,0,.2) inset;-moz-box-shadow:0 0 4px -2px rgba(0,0,0,.2) inset;box-shadow:0 0 4px -2px rgba(0,0,0,.2) inset}.ui.button.toggle.active.hover.down{background-color:#BBF0A9;color:#21A627;-webkit-box-shadow:0 1px 3px 0 rgba(67,97,53,.5) inset;-moz-box-shadow:0 1px 3px 0 rgba(67,97,53,.5) inset;box-shadow:0 1px 3px 0 rgba(67,97,53,.5) inset}.ui.button.bubbly{-webkit-border-radius:1em;-moz-border-radius:1em;border-radius:1em}.ui.button.attached{display:block}.ui.button.attached.top{border:1px solid rgba(0,0,0,.1);border-bottom:0;-webkit-border-radius:.3125em .3125em 0 0;-moz-border-radius:.3125em .3125em 0 0;border-radius:.3125em .3125em 0 0}.ui.button.attached.bottom{border:1px solid rgba(0,0,0,.1);border-top:0;-webkit-border-radius:0 0 .3125em .3125em;-moz-border-radius:0 0 .3125em .3125em;border-radius:0 0 .3125em .3125em}.ui.button.attached.left{display:inline-block;border-left:0;padding-right:.75em;text-align:right;border-right:1px solid rgba(0,0,0,.1);-webkit-border-radius:.3125em 0 0 .3125em;-moz-border-radius:.3125em 0 0 .3125em;border-radius:.3125em 0 0 .3125em}.ui.button.attached.right{display:inline-block;padding-left:.75em;text-align:left;border-left:1px solid rgba(0,0,0,.1);-webkit-border-radius:0 .3125em .3125em 0;-moz-border-radius:0 .3125em .3125em 0;border-radius:0 .3125em .3125em 0}input+.ui.attached.button{display:inline-block;margin:0 0 0 -1em;padding:.68em 1em;vertical-align:top;font-size:.825em;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset;-webkit-border-radius:0 .3125em .3125em 0;-moz-border-radius:0 .3125em .3125em 0;border-radius:0 .3125em .3125em 0}input:focus+.ui.attached.button{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3) inset;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.3) inset;box-shadow:0 0 0 1px rgba(0,0,0,.3) inset}.ui.attached.button.loading,.ui.attached.button.loading.hover{opacity:1}.ui.buttons{overflow:hidden}.ui.buttons .button{float:left;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-left:1px solid rgba(0,0,0,.05)}.ui.buttons .button:first-child{margin-left:0;border-top-left-radius:.3125em;border-bottom-left-radius:.3125em}.ui.buttons .button:last-child{border-top-right-radius:.3125em;border-bottom-right-radius:.3125em}.ui.buttons.vertical{display:inline-block}.ui.buttons.vertical .button{display:block;float:none;border-bottom:1px solid rgba(0,0,0,.05);border-left:0;box-shadow:none}.ui.buttons.vertical .button:first-child,.ui.buttons.vertical .mini.button:first-child,.ui.buttons.vertical .tiny.button:first-child,.ui.buttons.vertical .small.button:first-child,.ui.buttons.vertical .massive.button:first-child,.ui.buttons.vertical .huge.button:first-child,.ui.buttons.vertical .gigantic.button:first-child{margin-top:0;-moz-border-radius:.3125em .3125em 0 0;-webkit-border-radius:.3125em .3125em 0 0;border-radius:.3125em .3125em 0 0}.ui.buttons.vertical .button:last-child,.ui.buttons.vertical .mini.button:last-child,.ui.buttons.vertical .tiny.button:last-child,.ui.buttons.vertical .small.button:last-child,.ui.buttons.vertical .massive.button:last-child,.ui.buttons.vertical .huge.button:last-child,.ui.buttons.vertical .gigantic.button:last-child{-moz-border-radius:0 0 .3125em .3125em;-webkit-border-radius:0 0 .3125em .3125em;border-radius:0 0 .3125em .3125em}.ui.buttons .or{position:relative;float:left;width:.3em;height:1em}.ui.buttons .or:before{position:absolute;top:50%;left:50%;content:'or';background-color:#FFF;margin-top:-.15em;margin-left:-.9em;width:1.8em;height:1.8em;line-height:1.66;color:#AAA;font-style:normal;font-weight:400;text-align:center;-moz-box-shadow:0 2px 1px 0 rgba(0,0,0,.2) inset;-webkit-box-shadow:0 2px 1px 0 rgba(0,0,0,.2) inset;box-shadow:0 2px 1px 0 rgba(0,0,0,.2) inset;-moz-border-radius:500px;-webkit-border-radius:500px;border-radius:500px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.buttons .or:after{position:absolute;top:0;left:0;content:' ';width:.3em;height:1.8em;background-color:transparent;border-top:.6em solid #FFF;border-bottom:.6em solid #FFF}.ui.fluid.buttons .or{width:0!important}.ui.fluid.buttons .or:after{display:none}.attached.ui.buttons{margin:0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.attached.ui.buttons .button:first-child{-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0;border-radius:4px 0 0}.attached.ui.buttons .button:last-child{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0}.bottom.attached.ui.buttons{margin-top:-1px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.bottom.attached.ui.buttons .button:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px}.bottom.attached.ui.buttons .button:last-child{-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px;border-radius:0 0 4px}.left.attached.ui.buttons{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.left.attached.ui.buttons .button:first-child{margin-left:-1px;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0}.left.attached.ui.buttons .button:last-child{margin-left:-1px;-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px;border-radius:0 0 4px}.right.attached.ui.buttons,.right.attached.ui.buttons .button{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.right.attached.ui.buttons .button:first-child{margin-left:-1px;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0;border-radius:4px 0 0}.right.attached.ui.buttons .button:last-child{margin-left:-1px;-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px}.ui.fluid.buttons,.ui.button.fluid,.ui.fluid.buttons>.button{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.two.fluid.buttons>.button{width:50%}.ui.three.fluid.buttons>.button{width:33.333%}.ui.four.fluid.buttons>.button{width:25%}.ui.five.fluid.buttons>.button{width:20%}.ui.six.fluid.buttons>.button{width:16.666%}.ui.seven.fluid.buttons>.button{width:14.285%}.ui.eight.fluid.buttons>.button{width:12.5%}.ui.nine.fluid.buttons>.button{width:11.11%}.ui.ten.fluid.buttons>.button{width:10%}.ui.eleven.fluid.buttons>.button{width:9.09%}.ui.twelve.fluid.buttons>.button{width:8.3333%}.ui.fluid.vertical.buttons,.ui.fluid.vertical.buttons>.button{width:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.two.fluid.buttons>.button{height:50%}.ui.three.fluid.buttons>.button{height:33.333%}.ui.four.fluid.buttons>.button{height:25%}.ui.five.fluid.buttons>.button{height:20%}.ui.six.fluid.buttons>.button{height:16.666%}.ui.seven.fluid.buttons>.button{height:14.285%}.ui.eight.fluid.buttons>.button{height:12.5%}.ui.nine.fluid.buttons>.button{height:11.11%}.ui.ten.fluid.buttons>.button{height:10%}.ui.eleven.fluid.buttons>.button{height:9.09%}.ui.twelve.fluid.buttons>.button{height:8.3333%} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/divider.min.css b/node/src/files/components/semantic/minified/elements/divider.min.css deleted file mode 100644 index 7c9c0cd90..000000000 --- a/node/src/files/components/semantic/minified/elements/divider.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.divider{margin:1em 0;height:1px;background-color:rgba(0,0,0,.1);border-top:0;border-bottom:1px solid rgba(255,255,255,.8)}.ui.vertical.divider,.ui.horizontal.divider{position:relative;margin:25px 0 10px;font-size:14px;line-height:14px;text-align:center;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.8);color:#555;font-weight:700}.ui.divider .rule{position:absolute;top:6px;width:45%;height:1px;background-color:#ADADAD;background-color:rgba(0,0,0,.1);border-bottom:1px solid #F8F8F8;border-bottom:1px solid rgba(255,255,255,.9)}.ui.divider .left.rule{left:0}.ui.divider .right.rule{right:0}.ui.divider .label{display:block;margin:14px 0 0;text-transform:none;color:#333}.vertical.ui.divider{position:absolute;top:0;left:50%;height:100%;margin:0 0 0 -50px;min-width:100px;color:#555;font-weight:700}.vertical.ui.divider .rule{position:absolute;left:50%;width:1px;height:45%;background-color:#ADADAD;background-color:rgba(0,0,0,.2);border-right:1px solid #F8F8F8;border-right:1px solid rgba(255,255,255,.9)}.vertical.ui.divider .top.rule{top:0}.vertical.ui.divider .bottom.rule{top:auto;bottom:0}.vertical.ui.divider .label{position:relative;top:50%;margin-top:-7px;display:block;width:100%;font-size:14px;line-height:14px;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.8);text-transform:none;color:#333}.ui.divider.inverted{text-shadow:0 1px 0 rgba(0,0,0,.8);color:#FFF}.ui.divider.inverted .rule{border-color:#4A4A4A;border-color:rgba(255,255,255,.2)} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/flags.min.css b/node/src/files/components/semantic/minified/elements/flags.min.css deleted file mode 100644 index db351de31..000000000 --- a/node/src/files/components/semantic/minified/elements/flags.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.notification.hidden{display:none}.ui.notification{position:absolute;top:0;right:0;background-color:#EEE;padding:3px 5px;background:-webkit-linear-gradient(top,#fff 0,#ddd 100%);background:-moz-linear-gradient(top,#fff 0,#ddd 100%);background:-o-linear-gradient(top,#fff 0,#ddd 100%);background:-ms-linear-gradient(top,#fff 0,#ddd 100%);background:linear-gradient(top,#fff 0,#ddd 100%);border:1px solid #DDD;border-radius:5px;box-shadow:1px 1px 1px rgba(0,0,0,.3),0 1px 0 rgba(255,255,255,.6) inset;font-size:11px;line-height:1;text-transform:uppercase;color:#555;z-index:100} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/footnote.min.css b/node/src/files/components/semantic/minified/elements/footnote.min.css deleted file mode 100644 index d04a44993..000000000 --- a/node/src/files/components/semantic/minified/elements/footnote.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.footnote{position:absolute;right:0;margin-right:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAAECAIAAABEEOcGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OEYyQzdFNjZGQjhBMTFFMTgzQzJFN0E3NEFBRTJEOTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OEYyQzdFNjdGQjhBMTFFMTgzQzJFN0E3NEFBRTJEOTQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4RjJDN0U2NEZCOEExMUUxODNDMkU3QTc0QUFFMkQ5NCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4RjJDN0U2NUZCOEExMUUxODNDMkU3QTc0QUFFMkQ5NCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhEaqvMAAABcSURBVHjaYvnw9PXdY1fu7DkvsfG9/AsOhlEwCqgBWHhEBRRMNXk3vhB4/Y9pNDxGAbUS1s/777/EbWE7+fLbaGCMAiomrG+/vn8TYhRiZmP+yzgaHKOAWgAgwAC5ghtNGOU2wgAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-position:0 0;font-weight:700;text-transform:uppercase;color:#FFF}.ui.footnote.right{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAAECAIAAABEEOcGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUIwQzNFNTc3NTYwMTFFMjk1QzNCN0YzRjhERkM1RkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUIwQzNFNTg3NTYwMTFFMjk1QzNCN0YzRjhERkM1RkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1QjBDM0U1NTc1NjAxMUUyOTVDM0I3RjNGOERGQzVGRSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1QjBDM0U1Njc1NjAxMUUyOTVDM0I3RjNGOERGQzVGRSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpXH9FAAAABeSURBVHjaYnzA0MowCkYBNcBDiR8v/AVVXAyVrXRYeBjYR0NkFFAFaL5ml/wqKWyqySMqwPKF4edoiIwC6oC/DGxL7n25/ZVjkd9oiTUKqJq0mP+/E2L89us7QIABAIrfFu2AX0jvAAAAAElFTkSuQmCC);background-position:right top;padding:10px 15px 10px 5px;left:0;right:auto;margin-left:100%}.ui.footnote{padding:10px 5px 10px 15px;font-size:14px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/header.min.css b/node/src/files/components/semantic/minified/elements/header.min.css deleted file mode 100644 index d4e10e243..000000000 --- a/node/src/files/components/semantic/minified/elements/header.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.header{line-height:1.33;font-size:1.33em;font-weight:700;padding:0;border:0}.ui.header:first-child{margin-top:0}.ui.header+p{margin-top:0}h1.ui.header{min-height:1rem;margin:2rem 0rem 1.5rem;line-height:1.33rem;font-size:2rem}h2.ui.header{margin:1.5rem 0rem 1rem;line-height:1.33rem;font-size:1.5rem}h3.ui.header{margin:1.3rem 0rem 1rem;line-height:1.33rem;font-size:1.33rem}h4.ui.header{margin:.75rem 0rem .3rem;line-height:1.33rem;font-size:1.1rem}h5.ui.header{margin:0rem 0rem .2rem;line-height:1.2rem;font-size:1rem}.huge.ui.header{min-height:1em;line-height:1.33em;font-size:2em}.large.ui.header{line-height:1.33em;font-size:1.5em}.medium.ui.header{margin-bottom:.25em;line-height:1.33em;font-size:1.25em}.small.ui.header{margin-bottom:.25em;line-height:1.33em;font-size:1.1em}.tiny.ui.header{margin-bottom:0;line-height:1.2em;font-size:1em}.ui.header.disabled{opacity:.5}.ui.inverted.header{background-color:#222;padding:.7em 1em;color:#FFF}.ui.blue.header{color:#6ECFF5!important}.ui.black.header{color:#5C6166!important}.ui.green.header{color:#A1CF64!important}.ui.red.header{color:#EF4D6D!important}.ui.purple.header{color:#564F8A!important}.ui.teal.header{color:#00B5AD!important}.ui.inverted.black.header{background-color:#5C6166!important;color:#FFF!important}.ui.inverted.blue.header{background-color:#6ECFF5!important;color:#FFF!important}.ui.inverted.green.header{background-color:#A1CF64!important;color:#FFF!important}.ui.inverted.red.header{background-color:#EF4D6D!important;color:#FFF!important}.ui.inverted.purple.header{background-color:#564F8A!important;color:#FFF!important}.ui.inverted.teal.header{background-color:#00B5AD!important;color:#FFF!important}.ui.left.aligned.header{text-align:left}.ui.right.aligned.header{text-align:right}.ui.center.aligned.header{text-align:center}.ui.floated.header,.ui.left.floated.header{float:left}.ui.right.floated.header{float:right}.ui.attached.header{padding:.7em 1rem;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1)}.ui.top.attached.header{margin-bottom:0;-webkit-border-radius:.3125em .3125em 0 0;-moz-border-radius:.3125em .3125em 0 0;border-radius:.3125em .3125em 0 0}.ui.bottom.attached.header{margin-top:0;-webkit-border-radius:0 0 .3125em .3125em;-moz-border-radius:0 0 .3125em .3125em;border-radius:0 0 .3125em .3125em}.ui.header.icon{display:inline-block;text-align:center}.ui.header.icon .icon{display:block;font-size:4em;width:auto;margin:0rem auto 2rem;padding:0} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/icons.min.css b/node/src/files/components/semantic/minified/elements/icons.min.css deleted file mode 100644 index 384803db2..000000000 --- a/node/src/files/components/semantic/minified/elements/icons.min.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Icons;src:url(../fonts/icons.eot);src:url(../fonts/icons.eot?#iefix) format('embedded-opentype'),url(../fonts/icons.woff) format('woff'),url(../fonts/icons.ttf) format('truetype'),url(../fonts/icons.svg#icons) format('svg');font-weight:400;font-style:normal}i.icon{display:inline-block;width:1em;height:1em;margin:0 .25em 0 0;font-style:normal;line-height:1;font-weight:400;text-decoration:inherit;text-align:center;vertical-align:baseline;-webkit-font-smoothing:antialiased;-moz-font-smoothing:antialiased;font-smoothing:antialiased}i.icon:before{font-family:Icons;speak:none;opacity:.75}i.icon.cloud,i.icon.code,i.icon.terminal,i.icon.twitter-bird,i.icon.dollar{margin-left:0;padding-right:.2em}i.icon.left,i.icon.left-open,i.icon.left-dir{width:1em;margin:0 .5em 0 0}i.icon.up,i.icon.up-open,i.icon.up-dir,i.icon.down,i.icon.down-open,i.icon.down-dir,i.icon.right,i.icon.right-open,i.icon.right-dir{width:1em;margin:0 0 0 .1em}i.icon.clock{margin-top:-.05em}i.icon.close:before{content:'\e80d'}i.icon.help:before{content:'\e704'}i.icon.info:before{content:'\e705'}i.icon.error:before{content:'\e80d'}i.icon.asterisk:before{content:'\2731'}i.icon.at:before{content:'\40'}i.icon.attach:before{content:'📎'}i.icon.attention-circle:before{content:'\2757'}i.icon.attention:before{content:'\26a0'}i.icon.award:before{content:'🏉'}i.icon.barcode:before{content:'\e792'}i.icon.basket:before{content:'\e73d'}i.icon.basket:before{content:'\e813'}i.icon.block:before{content:'🚫'}i.icon.book-open:before{content:'📖'}i.icon.bookmark:before{content:'🔖'}i.icon.calendar:before{content:'📅'}i.icon.cancel-alt:before{content:'\e80d'}i.icon.cancel-circle:before{content:'\2716'}i.icon.cancel:before{content:'\2715'}i.icon.ccw:before{content:'\27f2'}i.icon.chart-bar:before{content:'📊'}i.icon.chart-pie:before{content:'\e7a2'}i.icon.chart:before{content:'📈'}i.icon.chat:before{content:'\e720'}i.icon.check:before{content:'\2611'}i.icon.clock:before{content:'🕔'}i.icon.cloud:before{content:'\2601'}i.icon.code:before{content:'\e714'}i.icon.cog-alt:before{content:'\26ef'}i.icon.cog:before{content:'\2699'}i.icon.comment-alt:before{content:'\e802'}i.icon.comment:before{content:'\e718'}i.icon.cw:before{content:'\27f3'}i.icon.direction:before{content:'\27a2'}i.icon.doc:before{content:'📄'}i.icon.docs:before{content:'\e736'}i.icon.dollar:before{content:'💵'}i.icon.down-dir:before{content:'\25be'}i.icon.down-open:before{content:'\e75c'}i.icon.down:before{content:'\2193'}i.icon.easel:before{content:'\e7b5'}i.icon.edit:before{content:'\270d'}i.icon.eject:before{content:'\2ecf'}i.icon.export:before{content:'\e715'}i.icon.eye:before{content:'\e80f'}i.icon.eye-off:before{content:'\e70b'}i.icon.facebook-rect:before{content:'\f301'}i.icon.fast-fw:before{content:'\e804'}i.icon.fire:before{content:'🔥'}i.icon.flag:before{content:'\2691'}i.icon.flash:before{content:'\26a1'}i.icon.flash-alt:before{content:'\e815'}i.icon.flask:before{content:'\68'}i.icon.flight:before{content:'\2708'}i.icon.folder-open:before{content:'📂'}i.icon.folder:before{content:'\e810'}i.icon.forward:before{content:'\27a6'}i.icon.gift:before{content:'🎁'}i.icon.github:before{content:'\f308'}i.icon.globe:before{content:'\e817'}i.icon.globe-alt:before{content:'🌐'}i.icon.globe:before{content:'𝌍'}i.icon.headphones:before{content:'🎧'}i.icon.heart-empty:before{content:'\2661'}i.icon.heart:before{content:'\2665'}i.icon.help-circle:before{content:'\e704'}i.icon.question:before{content:'\2753'}i.icon.home-alt:before{content:'\e80e'}i.icon.home:before{content:'\2302'}i.icon.info-circle:before{content:'\e705'}i.icon.i-letter:before{content:'\2139'}i.icon.lamp:before{content:'💡'}i.icon.left-dir:before{content:'\25c2'}i.icon.left-open:before{content:'\e75d'}i.icon.left:before{content:'\2190'}i.icon.link:before{content:'🔗'}i.icon.list:before{content:'\e782'}i.icon.location-alt:before{content:'\e811'}i.icon.location:before{content:'\e724'}i.icon.lock-open:before{content:'🔓'}i.icon.lock:before{content:'🔒'}i.icon.mail:before{content:'\2709'}i.icon.mic:before{content:'🎤'}i.icon.minus:before{content:'\2d'}i.icon.money:before{content:'💰'}i.icon.off:before{content:'\e78e'}i.icon.pause:before{content:'\e808'}i.icon.picture-alt:before{content:'\e812'}i.icon.picture:before{content:'🌄'}i.icon.pin:before{content:'📌'}i.icon.play:before{content:'\e809'}i.icon.plus-circle:before{content:'\2795'}i.icon.plus:before{content:'\2b'}i.icon.print:before{content:'\e716'}i.icon.resize-full:before{content:'\e744'}i.icon.resize-horizontal:before{content:'\2b0d'}i.icon.resize-small:before{content:'\e746'}i.icon.resize-vertical:before{content:'\2b0c'}i.icon.right-dir:before{content:'\25b8'}i.icon.right-open:before{content:'\e75e'}i.icon.right:before{content:'\2192'}i.icon.rss:before{content:'\e73a'}i.icon.search:before{content:'🔍'}i.icon.shuffle:before{content:'\e803'}i.icon.star:before{content:'\e801'}i.icon.star-empty:before{content:'\e800'}i.icon.star-half:before{content:'\e701'}i.icon.stop:before{content:'\e807'}i.icon.tag:before{content:'\e80a'}i.icon.tags:before{content:'\e70d'}i.icon.terminal:before{content:'\e7ac'}i.icon.th-alt:before{content:'\e80c'}i.icon.th-large:before{content:'\e708'}i.icon.th-list:before{content:'\e80b'}i.icon.thumbs-down:before{content:'👎'}i.icon.thumbs-up:before{content:'👍'}i.icon.tint:before{content:'\e794'}i.icon.to-end:before{content:'\e762'}i.icon.to-end-alt:before{content:'\e806'}i.icon.to-start:before{content:'\e763'}i.icon.to-start-alt:before{content:'\e805'}i.icon.top-list:before{content:'🏆'}i.icon.trash:before{content:'\e729'}i.icon.twitter-bird:before{content:'\f303'}i.icon.up-dir:before{content:'\25b4'}i.icon.up-open:before{content:'\e75f'}i.icon.up:before{content:'\2191'}i.icon.upload-cloud:before{content:'\e711'}i.icon.user-add:before{content:'\e700'}i.icon.user:before{content:'👤'}i.icon.users-alt:before{content:'\e814'}i.icon.users:before{content:'👥'}i.icon.vcard:before{content:'\e722'}i.icon.zoom-in:before{content:'\e750'}i.icon.zoom-out:before{content:'\e751'} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/image.min.css b/node/src/files/components/semantic/minified/elements/image.min.css deleted file mode 100644 index d22507db7..000000000 --- a/node/src/files/components/semantic/minified/elements/image.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.feature.image{position:relative;display:inline-block;border:1px solid #CCC;background:#f5f5f5 url(../images/placeholder-subtle.png) no-repeat center center}.ui.feature.image img{display:block}.ui.feature.image:after{position:absolute;top:0;left:0;width:100%;height:100%;content:'';-webkit-box-shadow:0 0 0 3px rgba(255,255,255,.6) inset,0 1px 1px rgba(0,0,0,.3);-moz-box-shadow:0 0 0 3px rgba(255,255,255,.6) inset,0 1px 1px rgba(0,0,0,.3);box-shadow:0 0 0 3px rgba(255,255,255,.6) inset,0 1px 1px rgba(0,0,0,.3);z-index:10}.ui.feature.image,.ui.feature.image img,.ui.feature.image:after{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/label.min.css b/node/src/files/components/semantic/minified/elements/label.min.css deleted file mode 100644 index 9e7a0728d..000000000 --- a/node/src/files/components/semantic/minified/elements/label.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.label{display:inline-block;vertical-align:middle;padding:.33em .8em;font-weight:700;text-transform:uppercase;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;-o-transition:background .1s linear;-ms-transition:background .1s linear;transition:background .1s linear}a.ui.label{cursor:pointer}.ui.label.disabled{opacity:.5}.ui.label .detail{display:inline-block;font-size:.9em;margin-left:.5em;opacity:.6}.ui.label .icon.close{cursor:pointer;margin-left:.5em;opacity:.7;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;-o-transition:background .1s linear;-ms-transition:background .1s linear;transition:background .1s linear}.ui.label .icon.close:hover{opacity:1}.ui.tag.labels .label,.ui.tag.label{margin-left:1em;position:relative;padding:.33em 1.3em .33em 1.4em;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.ui.tag.labels .label:before,.ui.tag.label:before{position:absolute;top:.3em;left:.3em;content:'';margin-left:-1em;background-image:none;width:1.5em;height:1.5em;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition:background .1s linear;-moz-transition:background .1s linear;-o-transition:background .1s linear;-ms-transition:background .1s linear;transition:background .1s linear}.ui.tag.labels .label:after,.ui.tag.label:after{position:absolute;content:'';top:50%;left:-.25em;margin-top:-.3em;background-color:#FFF;width:.55em;height:.55em;-webkit-box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);-moz-box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);-moz-border-radius:100px;-webkit-border-radius:100px;border-radius:100px}.ui.attached.label{position:absolute;top:0;left:0;margin-top:0!important;padding:.5em 1em;color:#AAA;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0;border-radius:4px 0 0}.ui.right.attached.label{left:auto;right:0;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0}.ui.bottom.attached.label{top:auto;bottom:0;-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px}.ui.bottom.right.attached.label{-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px;border-radius:0 0 4px}.ui.label.fluid,.ui.fluid.labels>.label{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.labels .label,.ui.label{background-color:rgba(0,0,0,.1);color:rgba(0,0,0,.3)}.ui.labels .label:before,.ui.label:before{background-color:rgba(0,0,0,.1);color:#555}a.ui.labels .label:hover,a.ui.label:hover{background-color:#F0F0F0}.ui.labels a.label:hover:before,a.ui.label:hover:before{background-color:#F0F0F0}.ui.black.labels .label,.ui.black.label{background-color:#5C6166;color:#FFF}.ui.labels .black.label:before,.ui.black.labels .label:before,.ui.black.label:before{background-color:#5C6166}a.ui.black.labels .label:hover,a.ui.black.label:hover{background-color:#888}.ui.labels a.black.label:hover:before,.ui.black.labels a.label:hover:before,a.ui.black.label:hover:before{background-color:#888}.ui.green.labels .label,.ui.green.label{background-color:#A1CF64;color:#FFF}.ui.labels .green.label:before,.ui.green.labels .label:before,.ui.green.label:before{background-color:#A1CF64}a.ui.green.labels .label:hover,a.ui.green.label:hover{background-color:#89B84C}.ui.labels a.green.label:hover:before,.ui.green.labels a.label:hover:before,a.ui.green.label:hover:before{background-color:#89B84C}.ui.red.labels .label,.ui.red.label{background-color:#EF4D6D;color:#FFF}.ui.labels .red.label:before,.ui.red.labels .label:before,.ui.red.label:before{background-color:#EF4D6D}a.ui.red.labels .label:hover,a.ui.red.label:hover{background-color:#DE3859;color:#FFF}.ui.labels a.red.label:hover:before,.ui.red.labels a.label:hover:before,a.ui.red.label:hover:before{background-color:#DE3859}.ui.blue.labels .label,.ui.blue.label{background-color:#6ECFF5;color:#FFF}.ui.labels .blue.label:before,.ui.blue.labels .label:before,.ui.blue.label:before{background-color:#6ECFF5}a.ui.blue.labels .label:hover,a.ui.blue.label:hover{background-color:#1AB8F3;color:#FFF}.ui.labels a.blue.label:hover:before,.ui.blue.labels a.label:hover:before,a.ui.blue.label:hover:before{background-color:#1AB8F3}.ui.purple.labels .label,.ui.purple.label{background-color:#564F8A;color:#FFF}.ui.labels .purple.label:before,.ui.purple.labels .label:before,.ui.purple.label:before{background-color:#564F8A}a.ui.purple.labels .label:hover,a.ui.purple.label:hover{background-color:#3E3773;color:#FFF}.ui.labels a.purple.label:hover:before,.ui.purple.labels a.label:hover:before,a.ui.purple.label:hover:before{background-color:#3E3773}.ui.teal.labels .label,.ui.teal.label{background-color:#00B5AD;color:#FFF}.ui.labels .teal.label:before,.ui.teal.labels .label:before,.ui.teal.label:before{background-color:#00B5AD}a.ui.teal.labels .label:hover,a.ui.teal.label:hover{background-color:#009A93;color:#FFF}.ui.labels a.teal.label:hover:before,.ui.teal.labels a.label:hover:before,a.ui.teal.tag.label:hover:before{background-color:#009A93}.ui.pointing.label{position:relative}.ui.attached.pointing.label{position:absolute}.ui.pointing.label:before{position:absolute;content:"";width:.6em;height:.6em;background-image:none;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-transition:background .1s linear;-moz-transition:background .1s linear;-o-transition:background .1s linear;-ms-transition:background .1s linear;transition:background .1s linear}.ui.pointing.label,.ui.pointing.above.label{margin-top:1em}.ui.pointing.label:before,.ui.pointing.above.label:before{margin-left:-.3em;top:-.3em;left:50%}.ui.pointing.below.label{margin-top:0;margin-bottom:1em}.ui.pointing.below.label:before{margin-left:-.3em;top:auto;right:auto;bottom:-.3em;left:50%}.ui.pointing.left.label{margin-top:0;margin-left:1em}.ui.pointing.left.label:before{margin-top:-.3em;bottom:auto;right:auto;top:50%;left:0}.ui.pointing.right.label{margin-top:0;margin-right:1em}.ui.pointing.right.label:before{margin-top:-.3em;right:-.3em;top:50%;bottom:auto;left:auto}.ui.floating.label{position:absolute;z-index:100;top:-1em;left:100%;margin:0 0 0 -1.5em!important;-webkit-box-shadow:0 -2px 0 0 rgba(0,0,0,.1) inset;-moz-box-shadow:0 -2px 0 0 rgba(0,0,0,.1) inset;box-shadow:0 -2px 0 0 rgba(0,0,0,.1) inset}.ui.label{font-size:13px}.ui.small.labels .label,.ui.small.label{font-size:11px}.ui.large.labels .label,.ui.large.label{font-size:15px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/paperclip.min.css b/node/src/files/components/semantic/minified/elements/paperclip.min.css deleted file mode 100644 index 7e8670422..000000000 --- a/node/src/files/components/semantic/minified/elements/paperclip.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.paperclip{z-index:2}.ui.paperclip .paperclip{display:block;position:absolute;z-index:4;background:url(../images/paperclip.png) no-repeat;width:37px;height:21px}.ui.paperclip .label{position:absolute;top:42px;left:8px;z-index:3;border:1px solid #D3CB4F;background-color:#FFF557;font-size:9px;color:#444005;font-weight:700;padding:2px 7px}.ui.paperclip .content,.ui.paperclip img{border:5px solid #FFF;-webkit-transform:rotate(-11deg);-moz-transform:rotate(-11deg);-o-transform:rotate(-11deg);-ms-transform:rotate(-11deg);transform:rotate(-11deg)}.ui.paperclip img{height:60px;-webkit-box-shadow:0 3px 2px rgba(0,0,0,.3);-moz-box-shadow:0 3px 2px rgba(0,0,0,.3);box-shadow:0 3px 2px rgba(0,0,0,.3)}.ui.paperclip{position:absolute;top:10%;left:-3px}.ui.paperclip .paperclip{position:absolute;bottom:10px;left:-10px}.ui.paperclip.hidden{display:none}.ui.paperclip.simple .content,.ui.paperclip.simple img{border:0}.ui.paperclip.large img{height:140px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/progress.min.css b/node/src/files/components/semantic/minified/elements/progress.min.css deleted file mode 100644 index b45fb6055..000000000 --- a/node/src/files/components/semantic/minified/elements/progress.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.progress{border:1px solid rgba(0,0,0,.1);width:100%;max-width:400px;height:35px;background-color:#FAFAFA;padding:5px;-webkit-border-radius:.3125em;-moz-border-radius:.3125em;border-radius:.3125em;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.progress .bar{display:inline-block;height:100%;background-color:#CCC;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:width 1s ease-in-out,background-color 1s ease-out;-moz-transition:width 1s ease-in-out,background-color 1s ease-out;-ms-transition:width 1s ease-in-out,background-color 1s ease-out;-o-transition:width 1s ease-in-out,background-color 1s ease-out;transition:width 1s ease-in-out,background-color 1s ease-out}.ui.successful.progress .bar{background-color:#73E064!important}.ui.successful.progress .bar,.ui.successful.progress .bar::after{-webkit-animation:none!important;-moz-animation:none!important}.ui.failed.progress .bar{background-color:#DF9BA4!important}.ui.failed.progress .bar,.ui.failed.progress .bar::after{-webkit-animation:none!important;-moz-animation:none!important}.ui.active.progress .bar{position:relative}.ui.active.progress .bar::after{content:'';opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#FFF;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-webkit-animation:animate-emphasis 2s ease-out infinite;-moz-animation:animate-emphasis 2s ease-out infinite;animation:animate-emphasis 2s ease-out infinite}@-webkit-keyframes animate-emphasis{0%{opacity:0;width:0}50%{opacity:.3}100%{opacity:0;width:95%}}@-moz-keyframes animate-emphasis{0%{opacity:0;width:0}50%{opacity:.3}100%{opacity:0;width:100%}}@keyframes animate-emphasis{0%{opacity:0;width:0}50%{opacity:.3}100%{opacity:0;width:100%}}.ui.disabled.progress{opacity:.35}.ui.disabled.progress .bar,.ui.disabled.progress .bar::after{-webkit-animation:none!important;-moz-animation:none!important}.ui.blue.progress .bar{background-color:#6ECFF5}.ui.black.progress .bar{background-color:#5C6166}.ui.green.progress .bar{background-color:#A1CF64}.ui.red.progress .bar{background-color:#EF4D6D}.ui.purple.progress .bar{background-color:#564F8A}.ui.teal.progress .bar{background-color:#00B5AD}.ui.progress.striped .bar{-webkit-background-size:30px 30px;-moz-background-size:30px 30px;background-size:30px 30px;background-image:-webkit-gradient(linear,left top,right bottom,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(135deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.ui.progress.active.striped .bar{-webkit-animation:animate-striped 3s linear infinite;-moz-animation:animate-striped 3s linear infinite}@-webkit-keyframes animate-striped{0%{background-position:0 0}100%{background-position:60px 0}}@-moz-keyframes animate-striped{0%{background-position:0 0}100%{background-position:60px 0}}@keyframes animate-striped{0%{background-position:0 0}100%{background-position:60px 0}} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/segment.min.css b/node/src/files/components/semantic/minified/elements/segment.min.css deleted file mode 100644 index 0a90d36d2..000000000 --- a/node/src/files/components/semantic/minified/elements/segment.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.segment{position:relative;background-color:#FFF;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);padding:1em;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.ui.segment div:first-child{margin-top:0}.ui.segment .attached.label:first-child+*{margin-top:2em}.ui.segment .bottom.attached.label:first-child+*{margin-top:0}.ui.segment.attached{top:-1px;bottom:-1px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-moz-box-shadow:0 0 0 1px #DDD;-webkit-box-shadow:0 0 0 1px #DDD;box-shadow:0 0 0 1px #DDD}.ui.top.attached.segment{top:0;bottom:-1px;-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.ui.segment.bottom.attached{top:-1px;bottom:0;-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.ui.segment .list li{padding:10px 25px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/step.min.css b/node/src/files/components/semantic/minified/elements/step.min.css deleted file mode 100644 index a61b236a5..000000000 --- a/node/src/files/components/semantic/minified/elements/step.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.steps{display:inline-block;font-size:0;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.15);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15);box-shadow:0 0 0 1px rgba(0,0,0,.15);-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.ui.steps .step{display:inline-block;position:relative;padding:13px 23px 13px 40px;background-color:#F3F3F3;background:-webkit-linear-gradient(top,#fff 0,#efefef 100%);background:-moz-linear-gradient(top,#fff 0,#efefef 100%);background:-o-linear-gradient(top,#fff 0,#efefef 100%);background:-ms-linear-gradient(top,#fff 0,#efefef 100%);background:linear-gradient(top,#fff 0,#efefef 100%);color:#555;text-shadow:0 -1px 0 rgba(255,255,255,.8)}.ui.steps .step:after{position:absolute;content:'';z-index:2;top:7px;right:-16px;width:32px;height:31px;background-color:#F3F3F3;background:-webkit-linear-gradient(left top,#fff 0,#efefef 100%);background:-moz-linear-gradient(left top,#fff 0,#efefef 100%);background:-o-linear-gradient(left top,#fff 0,#efefef 100%);background:-ms-linear-gradient(left top,#fff 0,#efefef 100%);background:linear-gradient(left top,#fff 0,#efefef 100%);-moz-box-shadow:1px -1px 1px rgba(0,0,0,.1),1px -1px 1px rgba(255,255,255,.6);-webkit-box-shadow:1px -1px 1px rgba(0,0,0,.1),1px -1px 1px rgba(255,255,255,.6);box-shadow:1px -1px 1px rgba(0,0,0,.1),1px -1px 1px rgba(255,255,255,.6);-moz-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.ui.steps .step:first-child{padding-left:20px;-webkit-border-radius:5px 0 0 5px;-moz-border-radius:5px 0 0 5px;border-radius:5px 0 0 5px}.ui.steps .step:last-child{-webkit-border-radius:0 5px 5px 0;-moz-border-radius:0 5px 5px 0;border-radius:0 5px 5px 0}.ui.steps .step:last-child{margin-right:0}.ui.steps .step:last-child:after{width:0!important;height:0!important}.attached.ui.steps{margin:0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.attached.ui.steps .step:first-child{-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0;border-radius:4px 0 0}.attached.ui.steps .step:last-child{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0}.bottom.attached.ui.steps{margin-top:-1px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.bottom.attached.ui.steps .step:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px}.bottom.attached.ui.steps .step:last-child{-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px;border-radius:0 0 4px}.ui.steps.fluid,.ui.steps.fluid>.step{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.steps.two.fluid>.step{width:50%}.ui.steps.three.fluid>.step{width:33.333%}.ui.steps.four.fluid>.step{width:25%}.ui.steps.five.fluid>.step{width:20%}.ui.steps.six.fluid>.step{width:16.666%}.ui.steps.seven.fluid>.step{width:14.285%}.ui.steps.eight.fluid>.step{width:12.5%}.ui.steps .step{font-size:13px;font-weight:700}.ui.steps .hover.step{cursor:pointer;background:-webkit-linear-gradient(top,#fff 0,#f0f0f0 100%);background:-moz-linear-gradient(top,#fff 0,#f0f0f0 100%);background:-o-linear-gradient(top,#fff 0,#f0f0f0 100%);background:-ms-linear-gradient(top,#fff 0,#f0f0f0 100%);background:linear-gradient(top,#fff 0,#f0f0f0 100%);-moz-box-shadow:0 0 2px rgba(0,0,0,.2);-webkit-box-shadow:0 0 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.2)}.ui.steps .hover.step:after{cursor:pointer;background:-webkit-linear-gradient(top left,#fff 0,#f0f0f0 100%);background:-moz-linear-gradient(top left,#fff 0,#f0f0f0 100%);background:-o-linear-gradient(top left,#fff 0,#f0f0f0 100%);background:-ms-linear-gradient(top left,#fff 0,#f0f0f0 100%);background:linear-gradient(top left,#fff 0,#f0f0f0 100%);-moz-box-shadow:2px -2px 1px rgba(0,0,0,.2);-webkit-box-shadow:2px -2px 1px rgba(0,0,0,.2);box-shadow:2px -2px 1px rgba(0,0,0,.2)}.ui.steps .hover.step:before{position:absolute;top:7px;left:-15px;width:32px;height:31px;content:'';background-color:transparent;background-image:none;-moz-box-shadow:-1px 1px 1px 0 rgba(0,0,0,.1) inset;-webkit-box-shadow:-1px 1px 1px 0 rgba(0,0,0,.1) inset;box-shadow:-1px 1px 1px 0 rgba(0,0,0,.1) inset;-moz-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg);z-index:2}.ui.steps .hover:first-child:before{width:0;height:0}.ui.steps .down.step{background:-webkit-linear-gradient(top,#f0f0f0 0,#fff 100%);background:-moz-linear-gradient(top,#f0f0f0 0,#fff 100%);background:-o-linear-gradient(top,#f0f0f0 0,#fff 100%);background:-ms-linear-gradient(top,#f0f0f0 0,#fff 100%);background:linear-gradient(top,#f0f0f0 0,#fff 100%)}.ui.steps .down.step:after{background:-webkit-linear-gradient(top left,#f0f0f0 0,#fff 100%);background:-moz-linear-gradient(top left,#f0f0f0 0,#fff 100%);background:-o-linear-gradient(top left,#f0f0f0 0,#fff 100%);background:-ms-linear-gradient(top left,#f0f0f0 0,#fff 100%);background:linear-gradient(top left,#f0f0f0 0,#fff 100%)}.ui.steps .active.step{cursor:auto;background-color:#009FDA;background:-webkit-linear-gradient(top,#009fda 0,#00b3f5 100%);background:-moz-linear-gradient(top,#009fda 0,#00b3f5 100%);background:-o-linear-gradient(top,#009fda 0,#00b3f5 100%);background:-ms-linear-gradient(top,#009fda 0,#00b3f5 100%);background:linear-gradient(top,#009fda 0,#00b3f5 100%);color:#FFF;text-shadow:0 1px 0 rgba(0,0,0,.3);-moz-box-shadow:0 0 2px rgba(0,0,0,.35) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.35) inset;box-shadow:0 0 2px rgba(0,0,0,.35) inset}.ui.steps .active.step:before{position:absolute;top:7px;left:-16px;content:'';width:32px;height:31px;background-color:transparent;background-image:none;-moz-box-shadow:2px -2px 1px rgba(0,0,0,.25);-webkit-box-shadow:2px -2px 1px rgba(0,0,0,.25);box-shadow:2px -2px 1px rgba(0,0,0,.25);-moz-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.ui.steps .active.step:first-child:before{width:0;height:0}.ui.steps .active.step:after{background-color:#009FDA;background:-webkit-linear-gradient(left top,#009fda 0,#00b3f5 100%);background:-moz-linear-gradient(left top,#009fda 0,#00b3f5 100%);background:-o-linear-gradient(left top,#009fda 0,#00b3f5 100%);background:-ms-linear-gradient(left top,#009fda 0,#00b3f5 100%);background:linear-gradient(left top,#009fda 0,#00b3f5 100%);-moz-box-shadow:-2px 2px 2px rgba(0,0,0,.15) inset;-webkit-box-shadow:-2px 2px 2px rgba(0,0,0,.15) inset;box-shadow:-2px 2px 2px rgba(0,0,0,.15) inset}.ui.steps .disabled.step{color:#BBB} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/throbber.min.css b/node/src/files/components/semantic/minified/elements/throbber.min.css deleted file mode 100644 index 9a44b2576..000000000 --- a/node/src/files/components/semantic/minified/elements/throbber.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.throbber{display:inline-block;width:32px;height:32px;background:url(../images/throbber-medium.gif) no-repeat;background-position:48% 0}.ui.throbber.center{position:absolute;top:50%;left:50%;margin:-16px 0 0 -16px;z-index:1000}.ui.throbber.large{width:64px;height:64px;background-image:url(../images/throbber-large.gif)}.ui.throbber.large.center{margin:-32px 0 0 -32px}.ui.throbber.small{width:24px;height:24px;background-image:url(../images/throbber-small.gif)}.ui.throbber.small.center{margin:-12px 0 0 -12px}.ui.throbber.tiny{width:16px;height:16px;background-image:url(../images/throbber-tiny.gif)}.ui.throbber.tiny.center{margin:-8px 0 0 -8px}.ui.throbber.text{width:auto!important;height:auto!important;text-align:center;font-style:normal;color:#422256;margin-top:-28px;min-width:32px;padding-top:40px;font-size:12px;font-weight:700}.ui.throbber.text.tiny{margin-top:-16px;min-width:16px;padding-top:20px;font-size:9px}.ui.throbber.text.small{margin-top:-23px;min-width:24px;padding-top:32px;font-size:11px}.ui.throbber.text.large{margin-top:-46px;min-width:64px;padding-top:80px;font-size:14px}.ui.throbber.text.blue{color:#fff}.ui.throbber.tiny.blue{background-image:url(../images/throbber-blue-tiny.gif)}.ui.throbber.small.blue{background-image:url(../images/throbber-blue-small.gif)}.ui.throbber.blue{background-image:url(../images/throbber-blue-medium.gif)}.ui.throbber.large.blue{background-image:url(../images/throbber-blue-large.gif)} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/elements/well.min.css b/node/src/files/components/semantic/minified/elements/well.min.css deleted file mode 100644 index 9a466e2d3..000000000 --- a/node/src/files/components/semantic/minified/elements/well.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.well{display:inline-block;padding:6px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.05) inset,0 0 0 1px rgba(0,0,0,.1) inset;-moz-box-shadow:0 -1px 0 rgba(0,0,0,.05) inset,0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 -1px 0 rgba(0,0,0,.05) inset,0 0 0 1px rgba(0,0,0,.1) inset;background-image:-webkit-linear-gradient(top,rgba(80,80,80,.24) 0,rgba(119,119,119,.24) 100%);background-image:-moz-linear-gradient(top,rgba(80,80,80,.24) 0,rgba(119,119,119,.24) 100%);background-image:-o-linear-gradient(top,rgba(80,80,80,.24) 0,rgba(119,119,119,.24) 100%);background-image:-ms-linear-gradient(top,rgba(80,80,80,.24) 0,rgba(119,119,119,.24) 100%);background-image:linear-gradient(top,rgba(80,80,80,.24) 0,rgba(119,119,119,.24) 100%)}.ui.well .button{-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.ui.light.well{background-image:-webkit-linear-gradient(top,rgba(80,80,80,.14) 0,rgba(119,119,119,.14) 100%);background-image:-moz-linear-gradient(top,rgba(80,80,80,.14) 0,rgba(119,119,119,.14) 100%);background-image:-o-linear-gradient(top,rgba(80,80,80,.14) 0,rgba(119,119,119,.14) 100%);background-image:-ms-linear-gradient(top,rgba(80,80,80,.14) 0,rgba(119,119,119,.14) 100%);background-image:linear-gradient(top,rgba(80,80,80,.14) 0,rgba(119,119,119,.14) 100%)}.ui.shallow.well{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;padding:4px}.ui.shallow.well .button{border-radius:4px}.ui.deep.well{-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px;padding:10px}.ui.deep.well .button{border-radius:50px}.ui.well.fluid,.ui.well.fluid .button{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/accordion.min.css b/node/src/files/components/semantic/minified/modules/accordion.min.css deleted file mode 100644 index 297f0c130..000000000 --- a/node/src/files/components/semantic/minified/modules/accordion.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.accordion .title{cursor:pointer;font-size:16px;font-weight:700;color:#3E2151;margin-top:8px;padding:8px;border:1px solid transparent;border-top:1px solid #E0E0E0;-webkit-box-shadow:0 1px 0 #FFF inset;-moz-box-shadow:0 1px 0 #FFF inset;box-shadow:0 1px 0 #FFF inset;transition:color .2s ease-out}.ui.accordion .title:first-child{margin-top:0;border-top-color:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ui.accordion .title:hover,.ui.accordion .title.active{color:#335687}.ui.accordion .title.active{background-color:#E0E0E0;border:1px solid #BBB;-webkit-box-shadow:0 1px 0 #FFF inset;-moz-box-shadow:0 1px 0 #FFF inset;box-shadow:0 1px 0 #FFF inset;color:#335687}.ui.accordion .icon{margin:0 4px 4px 2px;display:inline-block;text-indent:-9999px;vertical-align:middle;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid #3E2151;border-right:4px solid transparent}.ui.accordion .title:hover .icon{border-left-color:#335687}.ui.accordion .title.active .icon{border-left:4px solid transparent;border-top:6px solid #335687;margin-left:0;margin-bottom:0}.ui.accordion .content{display:none;padding:10px 20px;margin:0;font-size:12px;line-height:2}.ui.accordion .content p{margin:12px 0;font-size:12px}.ui.accordion .content.active{display:block;background-color:#EEE;-webkit-box-shadow:0 0 2px rgba(0,0,0,.25) inset;-moz-box-shadow:0 0 2px rgba(0,0,0,.25) inset;box-shadow:0 0 2px rgba(0,0,0,.25) inset}.ui.accordion.connected{background-color:#FAFAFA;border:1px solid #DDD}.ui.accordion.connected .title{margin-top:0} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/accordion.min.js b/node/src/files/components/semantic/minified/modules/accordion.min.js deleted file mode 100644 index 960f42cc5..000000000 --- a/node/src/files/components/semantic/minified/modules/accordion.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,i,n){e.fn.accordion=function(t){var i=e.extend(!0,{},e.fn.accordion.settings,t),o=arguments||!1;return e(this).each(function(){var t,s=e(this),c=s.find(i.selector.title),a=(s.find(i.selector.icon),s.find(i.selector.content)),r=s.data("module"),l=i.className;return t={initialize:function(){c.on("click",t.change),s.data("module",t)},change:function(){var n=e(this),o=(n.next(a),n.hasClass(l.active));o?i.collapsible&&e.proxy(t.close,n)():e.proxy(t.open,n)()},open:function(){var t=e(this),n=t.next(a),o=c.filter("."+l.active),s=o.next(c);i.exclusive&&o.size()>0&&(o.removeClass("active"),s.stop().slideUp(i.speed,i.easing,function(){e(this).removeClass("active").removeAttr("style")})),t.addClass(l.active),n.hide().addClass(l.active).stop().slideDown(i.speed,i.easing,function(){e(this).removeAttr("style")})},close:function(){var t=e(this),n=t.next(a);t.removeClass(l.active),n.removeClass(l.active).show().stop().slideUp(i.speed,i.easing,function(){e(this).removeAttr("style")})},debug:function(e){i.debug&&console.info(i.moduleName+": "+e)},error:function(e){console.warn(i.moduleName+": "+e)},invoke:function(o,s,c){var a;return c=c||Array.prototype.slice.call(arguments,2),"string"==typeof o&&r!==n&&(o=o.split("."),e.each(o,function(n,o){return e.isPlainObject(r[o])?(r=r[o],!0):e.isFunction(r[o])?(a=r[o],!0):(t.error(i.errors.method),!1)})),e.isFunction(a)?a.apply(s,c):a}},r!==n&&o?("invoke"==o[0]&&(o=Array.prototype.slice.call(o,1)),t.invoke(o[0],this,Array.prototype.slice.call(o,1))):(t.initialize(),n)}),this},e.fn.accordion.settings={moduleName:"Accordion",debug:!1,exclusive:!0,collapsible:!0,errors:{method:"The method you called is not defined"},className:{active:"active",hover:"hover"},selector:{title:".title",icon:".icon",content:".content"},speed:500,easing:"easeInOutQuint"}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/behavior/animation.min.js b/node/src/files/components/semantic/minified/modules/behavior/animation.min.js deleted file mode 100644 index 961e187ca..000000000 --- a/node/src/files/components/semantic/minified/modules/behavior/animation.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,i){e.animationSettings=function(t,n,a,o){return t=n===i?t:"object"==typeof n?e.extend({},t,n):"function"==typeof a?e.extend({},t,{duration:n,complete:a}):"object"==typeof a?e.extend(!0,{},t,{duration:n},a):e.extend({},t,{duration:n,easing:a,complete:o})},e.fn.popIn=function(t,n,i){var a=e.animationSettings(e.fn.popIn.settings,t,n,i),o=e(this),s=o.size(),c=0,r=function(){0==o.filter(":animated").size(),c++,e(this).css("transform","").removeClass(a.className.init),e.proxy(a.eachComplete,this)(),c==s&&e.proxy(a.complete,o)()},l=function(t){e(this).delay(a.delay*t).animate({opacity:a.endOpacity,transform:"scale("+a.endScale+")"},a.duration,a.easing,r)};return a.isLegacyBrowser?o.show():o.addClass(a.className.init).show().css({opacity:a.startOpacity,transform:"scale("+a.startScale+")"}).each(l),e(this)},e.fn.popOut=function(t,n,i){var a=e.animationSettings(e.fn.popIn.settings,t,n,i),o={complete:function(){e(this).hide(),e.proxy(a.complete,this)()},startOpacity:a.endOpacity,endOpacity:0,startScale:a.endScale,endScale:a.startScale},s=e.extend(!0,{},a,o);e(this).popIn(s)},e.fn.popIn.settings={isLegacyBrowser:!1,className:{init:"init"},duration:450,easing:"easeOutExpo",delay:100,startOpacity:0,endOpacity:1,startScale:.7,endScale:1,eachComplete:function(){},complete:function(){}},e.fn.kenBurns=function(t,n,a){var o=e.animationSettings(e.fn.kenBurns.settings,t,n,a),s={randomPosition:function(e,t,n){var n=n!==i?n:t,a=Math.random()*(e+n-(e-t))+(e-t);return parseInt(a,10)},animate:function(){var t={},n={};t=o.useStartPosition?{x:parseInt(e(this).css("background-position-x"),10),y:parseInt(e(this).css("background-position-y"),10)}:{x:s.randomPosition(50,o.xRange),y:s.randomPosition(50,o.yRange)},n.x=t.x>50?s.randomPosition(t.x,o.xMaxTravelDistance,-o.xMinTravelDistance):s.randomPosition(t.x,-o.xMinTravelDistance,o.xMaxTravelDistance),n.y=t.y>50?s.randomPosition(t.y,o.yMaxTravelDistance,-o.yMinTravelDistance):s.randomPosition(t.y,-o.yMinTravelDistance,o.yMaxTravelDistance),e(this).css({backgroundPosition:t.x+"%",backgroundPositionY:t.y+"%"}).stop().animate({backgroundPosition:n.x+"%",backgroundPositionY:n.y+"%"},o.duration,o.easing,o.complete)}};return o.isLegacyBrowser||e(this).each(s.animate),e(this)},e.fn.kenBurns.settings={isLegacyBrowser:!1,duration:1e4,easing:"linear",useStartPosition:!1,xRange:40,yRange:20,xMinTravelDistance:30,xMaxTravelDistance:60,yMinTravelDistance:20,yMaxTravelDistance:40,scale:.1,complete:function(){}}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/behavior/api.min.js b/node/src/files/components/semantic/minified/modules/behavior/api.min.js deleted file mode 100644 index 679c3a456..000000000 --- a/node/src/files/components/semantic/minified/modules/behavior/api.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,o){e.api=e.fn.api=function(n){var a,i=e.extend(!0,{},e.api.settings,n),r="function"!=typeof this?this:e("
"),s=i.stateContext?e(i.stateContext):e(r),c="object"==typeof this?e(r):s,l=c.data(i.metadata.action)||i.action||!1,u=i.className,d=i.metadata,p=i.errors;return a={initialize:function(){var r,p,f,g,m,h,y,v=!1,x=(new Date).getTime(),b={},C={},S=i.errors;return i.serializeForm&&e(this).toJSON()!==o&&(b=c.closest("form").toJSON(),e.extend(!0,i.data,b),a.debug("Adding form data to API Request",b)),r=e.proxy(i.beforeSend,c)(i),r===o||r?(l&&(a.debug("Initializing API Request for: ",l),i.api[l]!==o?g=i.api[l]:a.error(S.missingAction)),i.url&&(g=i.url,a.debug("Using specified url: ",g)),g||(a.error(S.missingURL),a.reset()),m=g.match(i.regExpTemplate),m&&(a.debug("Looking for URL variables",m),e.each(m,function(t,r){var s=r.substr(2,r.length-3),l=e.isPlainObject(n.urlData)&&n.urlData[s]!==o?n.urlData[s]:c.data(s)!==o?c.data(s):i.urlData[s];a.verbose("Looking for variable",s,c,c.data(s),i.urlData[s]),l===!1?(a.debug("Removing variable from URL",m),g=g.replace("/"+r,"")):l!==o&&l?g=g.replace(r,l):(a.error(S.missingParameter+s),v=!0)})),v?(a.reset(),o):(f=e.Deferred().always(function(){i.stateContext&&s.removeClass(u.loading),e.proxy(i.complete,c)()}).done(function(t){a.debug("API request successful"),"json"==i.dataType?t.success===!0?e.proxy(i.success,s)(t,i,c):(a.debug("JSON success flag is not set."),t.error!==o?e.proxy(i.failure,s)(t.error,i,c):e.isArray(t.errors)?e.proxy(i.failure,s)(t.errors[0],i,c):t.message!==o?e.proxy(i.failure,s)(t.message,i,c):e.proxy(i.failure,s)(S.error,i,c)):e.proxy(i.success,s)(t,i,c)}).fail(function(t,n,r){var c,l=i.errors[n]!==o?i.errors[n]:r;if(t!==o)if(t.readyState!==o&&4==t.readyState){if(200!=t.status&&r!==o&&""!==r)a.error(S.statusMessage+r);else if("error"==n&&"json"==i.dataType)try{c=e.parseJSON(t.responseText),c&&c.error!==o&&(l=c.error)}catch(d){a.error(S.JSONParse)}s.removeClass(u.loading).addClass(u.error),i.errorLength>0&&setTimeout(function(){s.removeClass(u.error)},i.errorLength),a.debug("API Request error:",l),e.proxy(i.failure,s)(l,i,this)}else a.debug("Request Aborted (Most likely caused by page change)")}),e.extend(!0,C,i,{type:i.method||i.type,data:h,url:g,beforeSend:i.beforeXHR}),i.stateContext&&s.addClass(u.loading),i.progress&&(a.verbose("Adding progress events"),e.extend(!0,C,{xhr:function(){var n=new t.XMLHttpRequest;return n.upload.addEventListener("progress",function(t){var n;t.lengthComputable&&(n=Math.round(1e4*(t.loaded/t.total))/100+"%",e.proxy(i.progress,s)(n,t))},!1),n.addEventListener("progress",function(t){var n;t.lengthComputable&&(n=Math.round(1e4*(t.loaded/t.total))/100+"%",e.proxy(i.progress,s)(n,t))},!1),n}})),a.verbose("Creating AJAX request with settings: ",C),y=e.ajax(C).always(function(){p=i.loadingLength-((new Date).getTime()-x),i.loadingDelay=0>p?0:p}).done(function(e){var t=this;setTimeout(function(){f.resolveWith(t,[e])},i.loadingDelay)}).fail(function(e,t,n){var o=this;"abort"!=t?setTimeout(function(){f.rejectWith(o,[e,t,n])},i.loadingDelay):s.removeClass(u.error).removeClass(u.loading)}),i.stateContext&&c.data(d.promise,f).data(d.xhr,y),o)):(a.error(S.beforeSend),a.reset(),o)},reset:function(){c.data(d.promise,!1).data(d.xhr,!1),s.removeClass(u.error).removeClass(u.loading),a.error(p.exitConditions)},setting:function(e,t){return t===o?i[e]:(i[e]=t,o)},verbose:function(){i.verbose&&a.debug.apply(this,arguments)},debug:function(){var e=[],t=i.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.info||console.log||function(){};o=Function.prototype.bind.call(o,console),i.debug&&(e.push(t),o.apply(console,e.concat(n)))},error:function(){var e=[],t=i.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.warn||console.log||function(){};o=Function.prototype.bind.call(o,console),i.debug&&(e.push(t),e.concat(n),o.apply(console,e.concat(n)))}},a.initialize(),this},e.fn.apiButton=function(t){return e(this).each(function(){var n,o=e(this),a=e(this).selector||"",i=e.isFunction(t)?e.extend(!0,{},e.api.settings,e.fn.apiButton.settings,{stateContext:this,success:t}):e.extend(!0,{},e.api.settings,e.fn.apiButton.settings,{stateContext:this},t);n={initialize:function(){i.context&&""!==a?e(i.context).on(a,"click."+i.namespace,n.click):o.on("click."+i.namespace,n.click)},click:function(){i.filter&&0!==e(this).filter(i.filter).size()||e.proxy(e.api,this)(i)}},n.initialize()}),this},e.api.settings={moduleName:"API Module",namespace:"api",verbose:!0,debug:!0,api:{},beforeSend:function(e){return e},beforeXHR:function(){},success:function(){},complete:function(){},failure:function(){},progress:!1,errors:{missingAction:"API action used but no url was defined",missingURL:"URL not specified for the API action",missingParameter:"Missing an essential URL parameter: ",timeout:"Your request timed out",error:"There was an error with your request",parseError:"There was an error parsing your request",JSONParse:"JSON could not be parsed during error handling",statusMessage:"Server gave an error: ",beforeSend:"The before send function has aborted the request",exitConditions:"API Request Aborted. Exit conditions met"},className:{loading:"loading",error:"error"},metadata:{action:"action",promise:"promise",xhr:"xhr"},regExpTemplate:/\{\$([A-z]+)\}/g,action:!1,url:!1,urlData:!1,serializeForm:!1,stateContext:!1,method:"get",data:{},dataType:"json",cache:!0,loadingLength:200,errorLength:2e3},e.fn.apiButton.settings={filter:".disabled, .loading",context:!1,stateContext:!1}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/behavior/colorize.min.js b/node/src/files/components/semantic/minified/modules/behavior/colorize.min.js deleted file mode 100644 index 2d6ecd166..000000000 --- a/node/src/files/components/semantic/minified/modules/behavior/colorize.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,o){e.fn.colorize=function(t){var n=e.extend(!0,{},e.fn.colorize.settings,t),a=arguments||!1;return e(this).each(function(t){var i,r,s,c,l,u,d,g,m=e(this),p=e("")[0],f=e("")[0],h=e("")[0],y=new Image,v=n.colors,x=(n.paths,n.namespace),b=n.errors,w=m.data("module-"+x);return g={checkPreconditions:function(){return g.debug("Checking pre-conditions"),!e.isPlainObject(v)||e.isEmptyObject(v)?(g.error(b.undefinedColors),!1):!0},async:function(e){n.async?setTimeout(e,0):e()},getMetadata:function(){g.debug("Grabbing metadata"),c=m.data("image")||n.image||o,l=m.data("name")||n.name||t,u=n.width||m.width(),d=n.height||m.height(),(0===u||0===d)&&g.error(b.undefinedSize)},initialize:function(){g.debug("Initializing with colors",v),g.checkPreconditions()&&g.async(function(){g.getMetadata(),g.canvas.create(),g.draw.image(function(){g.draw.colors(),g.canvas.merge()}),m.data("module-"+x,g)})},redraw:function(){g.debug("Redrawing image"),g.async(function(){g.canvas.clear(),g.draw.colors(),g.canvas.merge()})},change:{color:function(e,t){return g.debug("Changing color",e),v[e]===o?(g.error(b.missingColor),!1):(v[e]=t,g.redraw(),o)}},canvas:{create:function(){g.debug("Creating canvases"),p.width=u,p.height=d,f.width=u,f.height=d,h.width=u,h.height=d,i=p.getContext("2d"),r=f.getContext("2d"),s=h.getContext("2d"),m.append(p),i=m.children("canvas")[0].getContext("2d")},clear:function(){g.debug("Clearing canvas"),s.fillStyle="#FFFFFF",s.fillRect(0,0,u,d)},merge:function(){return e.isFunction(i.blendOnto)?(i.putImageData(r.getImageData(0,0,u,d),0,0),s.blendOnto(i,"multiply"),o):(g.error(b.missingPlugin),o)}},draw:{image:function(e){g.debug("Drawing image"),e=e||function(){},c?(y.src=c,y.onload=function(){r.drawImage(y,0,0),e()}):(g.error(b.noImage),e())},colors:function(){g.debug("Drawing color overlays",v),e.each(v,function(e,t){n.onDraw(s,l,e,t)})}},debug:function(e,t){n.debug&&(t!==o?console.info(n.moduleName+": "+e,t):console.info(n.moduleName+": "+e))},error:function(e){console.warn(n.moduleName+": "+e)},invoke:function(t,a,i){var r;return i=i||Array.prototype.slice.call(arguments,2),"string"==typeof t&&w!==o&&(t=t.split("."),e.each(t,function(t,o){return e.isPlainObject(w[o])?(w=w[o],!0):e.isFunction(w[o])?(r=w[o],!0):(g.error(n.errors.method),!1)})),e.isFunction(r)?r.apply(a,i):!1}},w!==o&&a?("invoke"==a[0]&&(a=Array.prototype.slice.call(a,1)),g.invoke(a[0],this,Array.prototype.slice.call(a,1))):(g.initialize(),o)}),this},e.fn.colorize.settings={moduleName:"Image Colorizer",debug:!0,namespace:"colorize",onDraw:function(){},async:!0,colors:{},metadata:{image:"image",name:"name"},errors:{noImage:"No tracing image specified",undefinedColors:"No default colors specified.",missingColor:"Attempted to change color that does not exist",missingPlugin:"Blend onto plug-in must be included",undefinedHeight:"The width or height of image canvas could not be automatically determined. Please specify a height."}}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/behavior/default-text.min.js b/node/src/files/components/semantic/minified/modules/behavior/default-text.min.js deleted file mode 100644 index bcd62a797..000000000 --- a/node/src/files/components/semantic/minified/modules/behavior/default-text.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e){e.fn.defaultText=function(t){var n="string"==typeof t?e.extend({},e.fn.defaultText.settings,{defaultValue:t}):e.extend(!0,{},e.fn.defaultText.settings,t);return"string"==typeof t&&(t={defaultValue:t}),e.extend(n,t),e(this).each(function(){var t=e(this),a={checkDefault:function(){t.val().toLowerCase()!=n.defaultValue.toLowerCase()&&t.addClass(n.filledClass)},placeholder:{add:function(){0===t.filter(n.disabledClassList).size()&&(t.val()==n.replaceValue?n.alwaysReplace?t.removeClass(n.filledClass).val(t.attr("last")).removeAttr("last"):t.removeClass(n.filledClass).val(n.defaultValue):t.addClass(n.filledClass))},remove:function(){0===t.filter(n.disabledClassList).size()&&(n.alwaysReplace?t.attr("last",t.val()).val(n.replaceValue):t.val().toLowerCase()==n.defaultValue.toLowerCase()&&t.val(n.replaceValue))}}};"auto"==n.defaultValue&&(n.defaultValue=e(this).val()),t.on("focus",a.placeholder.remove).on("blur",a.placeholder.add),a.checkDefault()}),this},e.fn.defaultText.settings={defaultValue:"auto",replaceValue:"",alwaysReplace:!1,disabledClassList:".readonly, .disabled",filledClass:"filled"}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/behavior/form.min.js b/node/src/files/components/semantic/minified/modules/behavior/form.min.js deleted file mode 100644 index ee64e3f1e..000000000 --- a/node/src/files/components/semantic/minified/modules/behavior/form.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,a){e.fn.validateForm=function(t,n){var i,o=e(this),r=e.extend(!0,{},e.fn.validateForm.settings,n),s=arguments[0],l=[].slice.call(arguments,1);return o.each(function(){var n,o=e(this),c=e(this).find(r.selector.group),d=(e(this).find(r.selector.field),e(this).find(r.selector.prompt),[]),u=(o.selector||"",o.data("module-"+r.namespace)),f="string"==typeof s,p=r.namespace,g=r.metadata,m=r.className,h=r.errors;n={initialize:function(){n.verbose("Initializing form validation"),t===a&&e.isEmptyObject(t)?n.error(h.noFields,o):(e.fn.defaultText!==a&&e.each(t,function(e,t){n.field.add.defaultText(t)}),o.on("submit."+p,n.validate.form))},destroy:function(){o.off(p)},field:{find:function(t){var n=o.find(r.selector.field);return n.filter("#"+t).size()>0?n.filter("#"+t):n.filter('[name="'+t+'"]').size()>0?n.filter('[name="'+t+'"]'):n.filter("[data-"+g.validate+'="'+t+'"]').size()>0?n.filter("[data-"+g.validate+'="'+t+'"]'):e("")},add:{defaultText:function(e){var t=n.field.find(e.identifier);e.defaultText!==a&&t.defaultText(e.defaultText)},error:function(t,a){var i=n.field.find(t.identifier),o=i.closest(c),s=c.find(s),l=0!==s.size();o.addClass(m.error),r.inlineError&&(l||(s=e("
").addClass(m.prompt).insertBefore(i)),s.html(a[0]).fadeIn(r.animateSpeed))}},remove:{error:function(e){var t=n.field.find(e.identifier),a=t.closest(c),i=c.find(i);a.removeClass(m.error),r.inlineError&&i.hide()}}},validate:{form:function(a){var i=!0;return d=[],e.each(t,function(e,t){n.validate.field(t)||(i=!1)}),i?e.proxy(r.onSuccess,this)(a):e.proxy(r.onFailure,this)(d)},field:function(t){var i=n.field.find(t.identifier),o=!0,s=[];return t.rules!==a&&e.each(t.rules,function(e,a){n.validate.rule(t,a)||(n.debug("Field is invalid",t.identifier,a.type),s.push(a.prompt),o=!1)}),o?(n.field.remove.error(t,s),r.onValid(i),!0):(d=d.concat(s),n.field.add.error(t,s),e.proxy(r.onInvalid,i)(s),!1)},rule:function(t,i){var s,l,c=n.field.find(t.identifier),d=i.type,u=t.defaultText!==a?t.defaultText:!1,f=c.val()==u?"":c.val(),p=/\[(.*?)\]/i,g=p.exec(d),m=!0;return g!==a&&null!=g?(s=g[1],l=d.replace(g[0],""),m=e.proxy(r.rules[l],o)(f,s)):m="checked"==d?c.filter(":checked").size()>0:r.rules[d](f),m}},setting:function(e,t){return t===a?r[e]:(r[e]=t,a)},verbose:function(){r.verbose&&n.debug.apply(this,arguments)},debug:function(){var e=[],t=r.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),a=console.info||console.log||function(){};a=Function.prototype.bind.call(a,console),r.debug&&(e.push(t),a.apply(console,e.concat(n)))},error:function(){var e=[],t=r.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),a=console.warn||console.log||function(){};a=Function.prototype.bind.call(a,console),r.debug&&(e.push(t),e.concat(n),a.apply(console,e.concat(n)))},invoke:function(t,i,o){var r,s;return o=o||[].slice.call(arguments,2),"string"==typeof t&&u!==a&&(t=t.split("."),r=t.length-1,e.each(t,function(t,i){return e.isPlainObject(u[i])&&t!=r?(u=u[i],!0):u[i]!==a?(s=u[i],!0):(n.error(h.method),!1)})),e.isFunction(s)?s.apply(i,o):s}},f?i=n.invoke(s,this,l):n.initialize()}),i!==a?i:this},e.fn.validateForm.settings={moduleName:"Validate Form Module",debug:!0,verbose:!1,namespace:"validate",animateSpeed:150,inlineError:!1,onValid:function(){},onInvalid:function(){},onSuccess:function(){return!0},onFailure:function(){return!1},metadata:{validate:"validate"},errors:{method:"The method you called is not defined.",noFields:"No validation object specified."},selector:{group:".field",prompt:".prompt",field:"input, textarea, select"},className:{error:"error",prompt:"prompt"},rules:{empty:function(e){return!(e===a||""===e)},email:function(e){var t=RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");return t.test(e)},length:function(e,t){return e!==a?e.length>=t:!1},not:function(e,t){return e!=t},maxLength:function(e,t){return e!==a?t>=e.length:!1},match:function(t,n){var i,o=e(this);return o.find("#"+n).size()>0?i=o.find("#"+n).val():o.find("[name="+n+"]").size()>0?i=o.find("[name="+n+"]").val():o.find('[data-validate="'+n+'"]').size()>0&&(i=o.find('[data-validate="'+n+'"]').val()),i!==a?""+t==""+i:!1},url:function(e){var t=/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;return t.test(e)}}}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/behavior/state.min.js b/node/src/files/components/semantic/minified/modules/behavior/state.min.js deleted file mode 100644 index 5afb8e421..000000000 --- a/node/src/files/components/semantic/minified/modules/behavior/state.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,a){e.fn.state=function(t){var n,o=e(this),i=o.selector||"",r=arguments[0],s=[].slice.call(arguments,1),l=(new Date).getTime(),c=[];return o.each(function(){var u,d=e(this),f=e.extend(!0,{},e.fn.state.settings,t),g=this,m=d.data("module-"+f.namespace),p="string"==typeof r,v=f.namespace,h=f.metadata,b=f.className,x=f.states,y=f.text;u={initialize:function(){u.verbose("Initializing module",g),f.automatic&&u.add.defaults(),f.context&&""!==i?(u.allows("hover")&&e(g,f.context).on(i,"mouseenter."+v,u.hover.enable).on(i,"mouseleave."+v,u.hover.disable),u.allows("pressed")&&e(g,f.context).on(i,"mousedown."+v,u.pressed.enable).on(i,"mouseup."+v,u.pressed.disable),u.allows("focus")&&e(g,f.context).on(i,"focus."+v,u.focus.enable).on(i,"blur."+v,u.focus.disable),e(f.context).on(i,"mouseenter."+v,u.text.change).on(i,"mouseleave."+v,u.text.reset).on(i,"click."+v,u.toggle)):(u.allows("hover")&&d.on("mouseenter."+v,u.hover.enable).on("mouseleave."+v,u.hover.disable),u.allows("pressed")&&d.on("mousedown."+v,u.pressed.enable).on("mouseup."+v,u.pressed.disable),u.allows("focus")&&d.on("focus."+v,u.focus.enable).on("blur."+v,u.focus.disable),d.on("mouseenter."+v,u.text.change).on("mouseleave."+v,u.text.reset).on("click."+v,u.toggle)),d.data("module-"+v,u)},destroy:function(){u.verbose("Destroying previous module",g),d.off("."+v)},refresh:function(){u.verbose("Refreshing selector cache",g),d=e(g)},add:{defaults:function(){var n=t&&e.isPlainObject(t.states)?t.states:{};e.each(f.defaults,function(t,o){u.is[t]!==a&&u.is[t]()&&(u.verbose("Adding default states",t,g),e.extend(f.states,o,n))})}},is:{active:function(){return d.hasClass(b.active)},loading:function(){return d.hasClass(b.loading)},inactive:function(){return!d.hasClass(b.active)},enabled:function(){return!d.is(f.filter.active)},disabled:function(){return d.is(f.filter.active)},textEnabled:function(){return!d.is(f.filter.text)},button:function(){return d.is(".button:not(a, .submit)")},input:function(){return d.is("input")}},allows:function(e){return x[e]||!1},enable:function(e){u.allows(e)&&d.addClass(b[e])},disable:function(e){u.allows(e)&&d.removeClass(b[e])},textFor:function(e){return y[e]||!1},focus:{enable:function(){d.addClass(b.focus)},disable:function(){d.removeClass(b.focus)}},hover:{enable:function(){d.addClass(b.hover)},disable:function(){d.removeClass(b.hover)}},pressed:{enable:function(){d.addClass(b.pressed).one("mouseleave",u.pressed.disable)},disable:function(){d.removeClass(b.pressed)}},toggle:function(){var e=d.data(h.promise);u.allows("active")&&u.is.enabled()&&(u.refresh(),e!==a?u.listenTo(e):u.change())},listenTo:function(t){u.debug("API request detected, waiting for state signal",t),t?(y.loading&&u.text.update(y.loading),e.when(t).then(function(){"resolved"==t.state()?(u.debug("API request succeeded"),f.activateTest=function(){return!0},f.deactivateTest=function(){return!0}):(u.debug("API request failed"),f.activateTest=function(){return!1},f.deactivateTest=function(){return!1}),u.change()})):(f.activateTest=function(){return!1},f.deactivateTest=function(){return!1})},change:function(){u.debug("Determining state change direction"),u.is.inactive()?u.activate():u.deactivate(),f.sync&&u.sync(),f.onChange()},activate:function(){e.proxy(f.activateTest,g)()&&(u.debug("Setting state to active"),d.addClass(b.active),u.text.update(y.active))},deactivate:function(){e.proxy(f.deactivateTest,g)()&&(u.debug("Setting state to inactive"),d.removeClass(b.active),u.text.update(y.inactive))},sync:function(){u.verbose("Syncing other buttons to current state"),u.is.active()?o.not(d).state("activate"):o.not(d).state("deactivate")},text:{get:function(){return f.selector.text?d.find(f.selector.text).text():d.html()},flash:function(e,t){var n=u.text.get();e=e||f.text.flash,t=t||f.flashDuration,u.text.update(e),setTimeout(function(){u.text.update(n)},t)},change:function(){u.verbose("Checking if text should be changed"),u.is.textEnabled()&&(u.is.active()?y.hover?(u.verbose("Changing text to hover text",y.hover),u.text.update(y.hover)):y.disable&&(u.verbose("Changing text to disable text",y.disable),u.text.update(y.disable)):y.hover?(u.verbose("Changing text to hover text",y.disable),u.text.update(y.hover)):y.enable&&(u.verbose("Changing text to enable text",y.disable),u.text.update(y.enable)))},reset:function(){var e=y.active||d.data(h.storedText),t=y.inactive||d.data(h.storedText);u.is.textEnabled()&&(u.is.active()&&e?(u.verbose("Resetting active text",e),u.text.update(e)):t&&(u.verbose("Resetting inactive text",e),u.text.update(t)))},update:function(e){var t=u.text.get();e&&e!==t&&(u.debug("Updating text",e),f.selector.text?d.data(h.storedText,e).find(f.selector.text).text(e):d.data(h.storedText,e).html(e))}},setting:function(e,t){return t===a?f[e]:(f[e]=t,a)},performance:{log:function(e){var t,n;f.performance&&(t=(new Date).getTime(),n=t-l,l=t,c.push({Name:e,"Execution Time":n}),clearTimeout(u.performance.timer),u.performance.timer=setTimeout(u.performance.display,100))},display:function(){var t=f.moduleName+" Performance ("+i+")";f.moduleName+": "+i+"("+o.size()+" elements)",console.group!==a&&c.length>0&&(console.groupCollapsed(t),console.table?console.table(c):e.each(c,function(e,t){console.log(t.Name+":"+t["Execution Time"])}),console.groupEnd(),c=[])}},verbose:function(){f.verbose&&f.debug&&(u.performance.log(arguments[0]),u.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},debug:function(){f.debug&&(u.performance.log(arguments[0]),u.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){console.log!==a&&(u.error=Function.prototype.bind.call(console.log,console,f.moduleName+":"))},invoke:function(t,n,o){var i,r;return o=o||[].slice.call(arguments,2),"string"==typeof t&&m!==a&&(t=t.split("."),i=t.length-1,e.each(t,function(t,n){return e.isPlainObject(m[n])&&t!=i?(m=m[n],!0):m[n]!==a?(r=m[n],!0):(u.error(f.errors.method),!1)})),e.isFunction(r)?r.apply(n,o):r}},p?n=u.invoke(r,this,s):(m!==a&&u.destroy(),u.initialize())}),n!==a?n:this},e.fn.state.settings={moduleName:"State Module",debug:!0,verbose:!1,namespace:"state",performance:!0,onChange:function(){},activateTest:function(){return!0},deactivateTest:function(){return!0},automatic:!0,sync:!1,flashDuration:3e3,filter:{text:".loading, .disabled",active:".disabled"},context:!1,errors:{method:"The method you called is not defined."},metadata:{promise:"promise",storedText:"stored-text"},className:{focus:"focus",hover:"hover",pressed:"down",active:"active",loading:"loading"},selector:{text:!1},defaults:{input:{hover:!0,focus:!0,pressed:!0,loading:!1,active:!1},button:{hover:!0,focus:!1,pressed:!0,active:!1,loading:!0}},states:{hover:!0,focus:!0,pressed:!0,loading:!1,active:!1},text:{flash:!1,hover:!1,active:!1,inactive:!1,enable:!1,disable:!1}}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/chat.min.css b/node/src/files/components/semantic/minified/modules/chat.min.css deleted file mode 100644 index 14bf199bd..000000000 --- a/node/src/files/components/semantic/minified/modules/chat.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.chat{background-color:#F8F8F8;width:330px;height:370px;padding:0}.ui.chat .room{position:relative;overflow:hidden;height:286px;border:1px solid #999;border-top:0;border-bottom:0}.ui.chat .room .throbber{display:none;margin:-25px 0 0 -25px}.ui.chat .actions{overflow:hidden;background-color:#EEE;padding:4px;border:1px solid #BBB;-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.ui.chat .actions .button{float:right;margin-left:3px}.ui.chat .actions .message{float:left;margin-left:6px;font-size:11px;color:#AAA;text-shadow:0 -1px 0 rgba(255,255,255,.8);line-height:28px}.ui.chat .actions .message .throbber{display:inline-block;margin-right:8px;vertical-align:middle;vertical-align:text-bottom}.ui.chat .log{float:left;overflow:auto;overflow-x:hidden;overflow-y:auto}.ui.chat .log .message{padding:3px 0;border-top:1px dotted #DADADA}.ui.chat .log .message:first-child{border-top:0}.ui.chat .status{padding:5px 0;color:#AAA;font-size:12px;font-style:italic;line-height:1.33;border-top:1px dotted #DADADA}.ui.chat .log .status:first-child{border-top:0}.ui.chat .log .flag{float:left}.ui.chat .log p{margin-left:0}.ui.chat .log .author{font-weight:700;-webkit-transition:color .3s ease-out;-moz-transition:color .3s ease-out;-o-transition:color .3s ease-out;-ms-transition:color .3s ease-out;transition:color .3s ease-out}.ui.chat .log a.author:hover{opacity:.8}.ui.chat .log .message.admin p{font-weight:700;margin:1px 0 0 23px}.ui.chat .log .divider{margin:-1px 0;font-size:11px;padding:10px 0;border-top:1px solid #F8F8F8;border-bottom:1px solid #F8F8F8}.ui.chat .log .divider .rule{top:50%;width:15%}.ui.chat .log .divider .label{color:#777;margin:0}.ui.chat .room .user-list{position:relative;overflow:auto;overflow-x:hidden;overflow-y:auto;float:left;background-color:#EEE;border-left:1px solid #DDD}.ui.chat .room .user-list .user{display:table;padding:3px 7px;border-bottom:1px solid #DDD}.ui.chat .room .user-list .user:hover{background-color:#F8F8F8}.ui.chat .room .user-list .image{display:table-cell;vertical-align:middle;width:20px}.ui.chat .room .user-list .image img{width:20px;height:20px;vertical-align:middle}.ui.chat .room .user-list p{display:table-cell;vertical-align:middle;padding-left:7px;padding-right:14px;font-size:11px;line-height:1.2;font-weight:700}.ui.chat .room .user-list a:hover{opacity:.8}.ui.chat.loading .throbber{display:block}.ui.chat .talk{border:1px solid #999;border-top:1px solid #BBB;padding:5px 0 0;background-color:#CCC;background:#fff -webkit-linear-gradient(top,#eee 0,#aaa 100%) repeat;background:#fff -moz-linear-gradient(top,#eee 0,#aaa 100%) repeat;background:#fff -o-linear-gradient(top,#eee 0,#aaa 100%) repeat;background:#fff -ms-linear-gradient(top,#eee 0,#aaa 100%) repeat;background:#fff linear-gradient(top,#eee 0,#aaa 100%) repeat;-webkit-box-shadow:0 1px 0 #FFF inset;-moz-box-shadow:0 1px 0 #FFF inset;box-shadow:0 1px 0 #FFF inset;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.ui.chat .talk .avatar,.ui.chat .talk input,.ui.chat .talk .button{float:left}.ui.chat .talk .avatar{border-top:1px solid #BBB;border-left:1px solid #BBB;width:30px;height:30px;margin:0 0 0 5px;background-color:#DADADA}.ui.chat .talk .avatar img{display:block;width:30px;height:30px;margin-right:4px}.ui.chat .talk input{border:1px solid #CCC;margin:0;width:196px;height:14px;padding:8px 5px;font-size:12px;color:#555}.ui.chat .talk input.focus{border:1px solid #AAA}.ui.chat .send{margin-left:-2px;width:54px;height:22px;line-height:23px;font-size:12px;padding:4px 12px;-moz-box-shadow:-2px 0 2px -2px rgba(0,0,0,.3);-webkit-box-shadow:-2px 0 2px -2px rgba(0,0,0,.3);box-shadow:-2px 0 2px -2px rgba(0,0,0,.3);border-radius:0 5px 5px 0}.ui.chat .talk .log-in.button{display:block;float:none;margin-top:-6px;height:22px;border-radius:0 0 4px 4px}.ui.chat .talk .log-in.button i{vertical-align:text-top}.ui.chat .log .team.flag{width:18px}.ui.chat.loading .throbber{display:block}.ui.chat{width:330px;height:370px}.ui.chat .room .container{width:3000px}.ui.chat .log{width:314px;height:278px;padding:4px 7px}.ui.chat .room .user-list{width:124px;height:278px;padding:4px 0}.ui.chat .room .user-list .user{width:110px}.ui.chat .talk{height:40px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/chat.min.js b/node/src/files/components/semantic/minified/modules/chat.min.js deleted file mode 100644 index 3982454e1..000000000 --- a/node/src/files/components/semantic/minified/modules/chat.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,a){e.fn.chat=function(t,n,o){var i=e.extend(!0,{},e.fn.chat.settings,o),s=arguments||!1;return e(this).each(function(){var o,r,l,c,u,d,f=e(this),m=f.find(i.selector.expandButton),p=f.find(i.selector.userListButton),g=f.find(i.selector.userList),h=(f.find(i.selector.room),f.find(i.selector.userCount)),v=f.find(i.selector.log),b=(f.find(i.selector.message),f.find(i.selector.messageInput)),y=f.find(i.selector.messageButton),x=f.data("module"),C=i.className,w=i.namespace,T="",k={};return d={channel:!1,width:{log:v.width(),userList:g.outerWidth()},initialize:function(){return Pusher===a&&d.error(i.errors.pusher),t===a||n===a?(d.error(i.errors.key),!1):i.endpoint.message||i.endpoint.authentication?(u=new Pusher(t),Pusher.channel_auth_endpoint=i.endpoint.authentication,d.channel=u.subscribe(n),d.channel.bind("pusher:subscription_succeeded",d.user.list.create),d.channel.bind("pusher:subscription_error",d.error),d.channel.bind("pusher:member_added",d.user.joined),d.channel.bind("pusher:member_removed",d.user.left),d.channel.bind("update_messages",d.message.receive),e.each(i.customEvents,function(e,t){d.channel.bind(e,t)}),e.fn.hoverClass!==a&&e.fn.downClass!==a&&(m.hoverClass().downClass(),p.hoverClass().downClass(),y.hoverClass().downClass()),p.on("click."+w,d.event.toggleUserList),m.on("click."+w,d.event.toggleExpand),b.on("keydown."+w,d.event.input.keydown).on("keyup."+w,d.event.input.keyup),y.on("mouseenter."+w,d.event.hover).on("mouseleave."+w,d.event.hover).on("click."+w,d.event.submit),v.animate({scrollTop:v.prop("scrollHeight")},400),f.data("module",d).addClass(C.loading),a):(d.error(i.errors.endpoint),!1)},refresh:function(){p.removeClass(C.active),d.width={log:v.width(),userList:g.outerWidth()},p.hasClass(C.active)&&d.user.list.hide(),f.data("module",d)},user:{updateCount:function(){i.userCount&&(k=f.data("users"),l=0,e.each(k,function(){l++}),h.html(i.templates.userCount(l)))},joined:function(t){k=f.data("users"),"anonymous"!=t.id&&k[t.id]===a&&(k[t.id]=t.info,i.randomColor&&t.info.color===a&&(t.info.color=i.templates.color(t.id)),T=i.templates.userList(t.info),t.info.isAdmin?e(T).prependTo(g).preview({type:"user",placement:"left"}):e(T).appendTo(g).preview({type:"user",placement:"left"}),e.fn.preview!==a&&g.children().last().preview({type:"user",placement:"left"}),i.partingMessages&&(v.append(i.templates.joined(t.info)),d.message.scroll.test()),d.user.updateCount())},left:function(e){k=f.data("users"),e!==a&&"anonymous"!==e.id&&(delete k[e.id],f.data("users",k),g.find("[data-id="+e.id+"]").remove(),i.partingMessages&&(v.append(i.templates.left(e.info)),d.message.scroll.test()),d.user.updateCount())},list:{create:function(t){k={},t.each(function(e){"anonymous"!==e.id&&"undefined"!==e.id&&(i.randomColor&&e.info.color===a&&(e.info.color=i.templates.color(e.id)),T=e.info.isAdmin?i.templates.userList(e.info)+T:T+i.templates.userList(e.info),k[e.id]=e.info)}),f.data("users",k).data("user",k[t.me.id]).removeClass(C.loading),g.html(T),e.fn.preview!==a&&g.children().preview({type:"user",placement:"left"}),d.user.updateCount(),e.proxy(i.onJoin,g.children())()},show:function(){v.animate({width:d.width.log-d.width.userList},{duration:i.speed,easing:i.easing,complete:d.message.scroll.move})},hide:function(){v.stop().animate({width:d.width.log},{duration:i.speed,easing:i.easing,complete:d.message.scroll.move})}}},message:{scroll:{test:function(){c=v.prop("scrollHeight")-v.height(),Math.abs(v.scrollTop()-c)'+e.user.name+": ":''+e.user.name+": ",t+=""+e.text+"

"+"
"},joined:function(e){return typeof e.name!==a?'
'+e.name+" has joined the chat.
":!1},left:function(e){return typeof e.name!==a?'
'+e.name+" has left the chat.
":!1},userList:function(e){var t="";return e.isAdmin&&(e.color="#55356A"),t+='
'+'
'+' '+"
",t+=e.color!==a?'

'+e.name+"

":'

'+e.name+"

",t+="
"}}}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/checkbox.min.css b/node/src/files/components/semantic/minified/modules/checkbox.min.css deleted file mode 100644 index 408c1f072..000000000 --- a/node/src/files/components/semantic/minified/modules/checkbox.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.checkbox{position:relative;display:inline-block;outline:0;width:1em;height:1em;vertical-align:middle}.ui.checkbox input{visibility:hidden;outline:0}.ui.checkbox .box,.ui.checkbox label{outline:0;cursor:pointer;position:absolute;width:1em;height:1em;bottom:0;left:0;border-radius:4px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2);background:#FFF;-webkit-transition:background-color .1s ease-out,box-shadow .1s ease-out;-moz-transition:background-color .1s ease-out,box-shadow .1s ease-out;-o-transition:background-color .1s ease-out,box-shadow .1s ease-out;-ms-transition:background-color .1s ease-out,box-shadow .1s ease-out;transition:background-color .1s ease-out,box-shadow .1s ease-out}.ui.checkbox .box:after,.ui.checkbox label:after{-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;content:'';position:absolute;background:transparent;border:.2em solid #333;border-top:0;border-right:0;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.ui.checkbox .box:after,.ui.checkbox label:after{width:.5em;height:.2em;top:.25em;left:.2em}.ui.checkbox .box:hover,.ui.checkbox label:hover{background-color:rgba(0,0,0,.02);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);-moz-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.ui.checkbox .box:active,.ui.checkbox label:active{background-color:rgba(0,0,0,.05)}.ui.checkbox input:checked+.box:after,.ui.checkbox input:checked+label:after{-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);opacity:1}.ui.disabled.checkbox+.box:after,.ui.checkbox input[disabled]+.box:after,.ui.disabled.checkbox label,.ui.checkbox input[disabled]+label{opacity:.4}.ui.radio.checkbox{width:14px;height:16px}.ui.radio.checkbox .box,.ui.radio.checkbox label{width:14px;height:14px;-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.ui.radio.checkbox .box:after,.ui.radio.checkbox label:after{top:3px;left:3px;border:0;width:8px;height:8px;background-color:#555;-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.ui.checkbox,.ui.checkbox .box,.ui.checkbox label{font-size:1em}.ui.large.checkbox,.ui.large.checkbox .box,.ui.large.checkbox label{font-size:1.25em}.ui.huge.checkbox,.ui.huge.checkbox .box,.ui.huge.checkbox label{font-size:1.5em}.ui.round.blue.checkbox label:after{background:-webkit-linear-gradient(top,#016286 0,#00506e 100%);background:-moz-linear-gradient(top,#016286 0,#00506e 100%);background:-o-linear-gradient(top,#016286 0,#00506e 100%);background:-ms-linear-gradient(top,#016286 0,#00506e 100%);background:linear-gradient(top,#016286 0,#00506e 100%)}.ui.round.checkbox{width:20px;height:20px;margin:0 auto;background:#FCFFF4;background:-webkit-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:-moz-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:-o-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:-ms-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FCFFF4', endColorstr='#b3bead', GradientType=0);-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px;-webkit-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);-moz-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);position:relative}.ui.round.checkbox .box,.ui.round.checkbox label{cursor:pointer;position:absolute;width:14px;height:14px;-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px;left:3px;top:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.5) inset,0 1px 0 #fff;-moz-box-shadow:0 1px 1px rgba(0,0,0,.5) inset,0 1px 0 #fff;box-shadow:0 1px 1px rgba(0,0,0,.5) inset,0 1px 0 #fff;background:-webkit-linear-gradient(top,#222 0,#4d4d4d 100%);background:-moz-linear-gradient(top,#222 0,#4d4d4d 100%);background:-o-linear-gradient(top,#222 0,#4d4d4d 100%);background:-ms-linear-gradient(top,#222 0,#4d4d4d 100%);background:linear-gradient(top,#222 0,#4d4d4d 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#222222', endColorstr='#4D4D4D', GradientType=0)}.ui.round.checkbox .box:after,.ui.round.checkbox label:after{-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;content:'';position:absolute;width:10px;height:10px;background:#B6B6B6;background:-webkit-linear-gradient(top,#b6b6b6 0,#929292 100%);background:-moz-linear-gradient(top,#b6b6b6 0,#929292 100%);background:-o-linear-gradient(top,#b6b6b6 0,#929292 100%);background:-ms-linear-gradient(top,#b6b6b6 0,#929292 100%);background:linear-gradient(top,#b6b6b6 0,#929292 100%);border:0;-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px;top:2px;left:2px;-webkit-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);-moz-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5)}.ui.round.checkbox .box:hover:after,.ui.round.checkbox label:hover:after{-ms-filter:"alpha(Opacity=30)";filter:alpha(opacity=30);opacity:.3}.ui.round.checkbox input:checked+.box:after,.ui.round.checkbox input:checked+label:after{-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);opacity:1} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/checkbox.min.js b/node/src/files/components/semantic/minified/modules/checkbox.min.js deleted file mode 100644 index 24f79c571..000000000 --- a/node/src/files/components/semantic/minified/modules/checkbox.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,o){e.fn.checkbox=function(t){var n,a=e(this),i=e.extend(!0,{},e.fn.checkbox.settings,t),s="."+i.namespace,r="module-"+i.namespace,l=(a.selector||"",(new Date).getTime()),c=[],u=arguments[0],d="string"==typeof u,f=[].slice.call(arguments,1);return a.each(function(){var t,m=e(this),p=e(this).find(i.selector.input),g=m.selector||"",h=this,v=m.data("module-"+i.namespace),b=i.className,x=i.namespace,y=i.errors;t={initialize:function(){i.context&&""!==g?(t.verbose("Initializing checkbox with delegated events",m),e(h,i.context).on(g,"click"+s,t.toggle).data(r,t)):(t.verbose("Initializing checkbox with bound events",m),m.on("click"+s,t.toggle).data(r,t))},destroy:function(){t.verbose("Destroying previous module for",m),m.off(x)},enable:function(){t.debug("Enabling checkbox"),m.addClass(b.active),p.prop("checked",!0),e.proxy(i.onChange,p.get())(),e.proxy(i.onEnable,p.get())()},disable:function(){t.debug("Disabling checkbox"),m.removeClass(b.active),p.prop("checked",!1),e.proxy(i.onChange,p.get())(),e.proxy(i.onDisable,p.get())()},toggle:function(){p.prop("checked")!==o&&p.prop("checked")?t.disable():t.enable()},setting:function(t,n){return n===o?i[t]:(e.isPlainObject(t)?e.extend(!0,i,t):i[t]=n,o)},internal:function(n,a){return a===o?t[n]:(e.isPlainObject(n)?e.extend(!0,t,n):t[n]=a,o)},debug:function(){i.debug&&(t.performance.log(arguments[0]),t.verbose=Function.prototype.bind.call(console.info,console,i.moduleName+":"))},verbose:function(){i.verbose&&i.debug&&(t.performance.log(arguments[0]),t.verbose=Function.prototype.bind.call(console.info,console,i.moduleName+":"))},error:function(){console.log!==o&&(t.error=Function.prototype.bind.call(console.log,console,i.moduleName+":"))},performance:{log:function(e){var n,o,a;i.performance&&(n=(new Date).getTime(),a=l||n,o=n-a,l=n,c.push({Element:h,Name:e,"Execution Time":o}),clearTimeout(t.performance.timer),t.performance.timer=setTimeout(t.performance.display,100))},display:function(){var t=i.moduleName,n=(i.moduleName+": "+g+"("+a.size()+" elements)",0);g&&(t+="Performance ("+g+")"),(console.group!==o||console.table!==o)&&c.length>0&&(console.groupCollapsed(t),console.table?(e.each(c,function(e,t){n+=t["Execution Time"]}),console.table(c)):e.each(c,function(e,t){n+=t["Execution Time"]}),console.log("Total Execution Time:",n+"ms"),console.groupEnd(),c=[],l=!1)}},invoke:function(n,a,i){var s,r;return a=a||f,i=h||i,"string"==typeof n&&v!==o&&(n=n.split("."),s=n.length-1,e.each(n,function(n,a){return e.isPlainObject(v[a])&&n!=s?(v=v[a],!0):v[a]!==o?(r=v[a],!0):(t.error(y.method),!1)})),e.isFunction(r)?(t.verbose("Executing invoked function",r),r.apply(i,a)):r||!1}},d?(v===o&&t.initialize(),n=t.invoke(u)):(v!==o&&t.destroy(),t.initialize())}),n?n:this},e.fn.checkbox.settings={moduleName:"Checkbox Module",namespace:"checkbox",verbose:!0,debug:!0,performance:!0,context:!1,onChange:function(){},onEnable:function(){},onDisable:function(){},errors:{method:"The method you called is not defined."},selector:{input:"input"},className:{active:"active"}}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/modal.min.css b/node/src/files/components/semantic/minified/modules/modal.min.css deleted file mode 100644 index 7e32d7546..000000000 --- a/node/src/files/components/semantic/minified/modules/modal.min.css +++ /dev/null @@ -1 +0,0 @@ -#dimmer{position:absolute;visibility:hidden;top:0;left:0;z-index:999;margin:0;width:100%;height:100%;padding:0}#dimmer .content{position:fixed;top:0;left:0;margin:0;width:100%;height:100%;padding:0;visibility:hidden;background-color:#000;opacity:0}.dimmer{display:none;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;background-color:#000;z-index:999}.white.dimmer{background-color:#FFF}.loading .dimmer{display:block;opacity:.8;-webkit-transition:opacity .5s linear;-moz-transition:opacity .5s linear;-o-transition:opacity .5s linear;-ms-transition:opacity .5s linear;transition:opacity .5s linear}.modal{display:none;position:fixed;z-index:1000;top:50%;left:50%;margin-left:-400px;width:800px;-webkit-box-shadow:5px 5px 15px rgba(0,0,0,.8);-moz-box-shadow:5px 5px 15px rgba(0,0,0,.8);box-shadow:5px 5px 15px rgba(0,0,0,.8);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.modal.absolute{position:absolute}.modal.fixed{position:fixed}.modal>.close{cursor:pointer;position:absolute;font-size:14px;color:#FFF;top:-18px;right:-18px;opacity:.8}.modal>.close:hover{opacity:1}.modal>hgroup{background-color:#442359;padding:15px 20px;-webkit-border-radius:10px 10px 0 0;-moz-border-radius:10px 10px 0 0;border-radius:10px 10px 0 0}.modal>hgroup h2{margin:0;font-size:22px;font-weight:700;color:#FFF;text-shadow:0 1px 0 rgba(0,0,0,.75)}.modal>hgroup h3{font-size:18px;color:#FFF}.modal>.content{position:relative;overflow:hidden;padding:20px 20px 40px;background-color:#FAFAFA;-webkit-border-radius:0 0 10px 10px;-moz-border-radius:0 0 10px 10px;border-radius:0 0 10px 10px}.modal>.content .left{float:left;width:50%}.modal>.content .right{float:right;width:50%}.modal.static{display:block;position:relative;overflow:hidden;top:0;left:0;border:1px solid #CCC;width:auto;height:auto;margin:0 auto;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;color:#555;z-index:2;-moz-box-shadow:0 0 2px rgba(0,0,0,.2);-webkit-box-shadow:0 0 2px rgba(0,0,0,.2);box-shadow:0 0 2px rgba(0,0,0,.2)}.modal.static>hgroup,.modal.static>.content{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/modal.min.js b/node/src/files/components/semantic/minified/modules/modal.min.js deleted file mode 100644 index a84433ffc..000000000 --- a/node/src/files/components/semantic/minified/modules/modal.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,o){e.dimScreen=function(t){var n="function"==typeof t?e.extend({},e.fn.modal.settings,{dim:t}):e.extend({},e.fn.modal.settings,t),o=e(n.context),i=o.children(n.selector.dimmer),a=i.size()>0,s=i.css("opacity");return a||(i=e("
").attr("id","dimmer").html('
'),o.append(i)),s!=n.opacity&&(i.one("click",function(){n.unDim(),e.unDimScreen()}),0===n.duration?i.css({visibility:"visible"}).find(".content").css({opacity:n.opacity,visibility:"visible"}):i.css({visibility:"visible"}).find(".content").css({opacity:0,visibility:"visible"}).fadeTo(n.duration,n.opacity,n.dim)),this},e.unDimScreen=function(t){var n="function"==typeof t?e.extend({},e.fn.modal.settings,{unDim:t}):e.extend({},e.fn.modal.settings,t),o=e(n.context),i=o.children(n.selector.dimmer),a=i.size()>0;return a&&(n.unDim(),0===n.duration?i.css({visibility:"hidden"}).remove():i.find(".content").fadeTo(n.duration,0,function(){i.remove()})),this},e.fn.modal=function(i){var a,s=e.extend(!0,{},e.fn.modal.settings,i),r=arguments[0],c=[].slice.call(arguments,1);return e(this).each(function(){var i,l=e(this),u=l.find(s.selector.closeButton),d=(e(s.context).find(s.selector.dimmer),e(s.context).children(s.selector.modal)),f=d.not(l),m=l.data("module-"+s.namespace),p="string"==typeof r,g=(s.className,s.namespace);i={initialize:function(){l.on("modalShow."+g,i.show).on("modalHide."+g,i.hide).data("module-"+g,i)},show:function(){var i=l.outerHeight(),a=e(t).height(),r=i>a,c=r?"absolute":"fixed",d=r?"0":"50%",m=r?a/8:-((i-s.closeSpacing)/2),p="absolute"==l.css("position")?m+e(t).prop("pageYOffset"):m,h=p+s.animationOffset;e.fn.popIn!==o?l.addClass(c).css({display:"block",opacity:0,top:d,marginTop:p+"px"}).popIn():l.addClass(c).css({display:"block",opacity:0,top:d,marginTop:h+"px"}).animate({opacity:1,marginTop:p+"px"},s.duration+300,s.easing),f.is(":visible")&&f.filter(":visible").hide(),e.dimScreen({context:s.context,duration:0,dim:function(){e(n).on("keyup."+g,function(e){var t=e.which,n=27;switch(t){case n:l.trigger("modalHide"),e.preventDefault()}}),u.one("click",function(){l.trigger("modalHide")}),s.dim()},unDim:function(){l.trigger("modalHide"),u.unbind("click")}})},hide:function(){e(n).off("keyup."+g),e.unDimScreen({duration:0,unDim:function(){l.popOut(200),s.unDim()}})},setting:function(e,t){return t===o?s[e]:(s[e]=t,o)},debug:function(){var e=[],t=s.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.info||console.log||function(){};s.debug&&(e.push(t),o.apply(console,e.concat(n)))},error:function(){var e=[],t=s.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.warn||console.log||function(){};s.debug&&(e.push(t),e.concat(n),o.apply(console,e.concat(n)))},invoke:function(t,n,a){var r,c;return a=a||[].slice.call(arguments,2),"string"==typeof t&&m!==o&&(t=t.split("."),r=t.length-1,e.each(t,function(t,n){return e.isPlainObject(m[n])&&t!=r?(m=m[n],!0):m[n]!==o?(c=m[n],!0):(i.error(s.errors.method),!1)})),e.isFunction(c)?c.apply(n,a):c}},p?a=i.invoke(r,this,c):i.initialize()}),a!==o?a:this},e.fn.modal.settings={moduleName:"Modal",debug:!1,namespace:"modal",errors:{method:"The method you called is not defined"},dim:function(){},unDim:function(){},hide:function(){},show:function(){},context:"body",opacity:.8,closeSpacing:25,animationOffset:15,duration:400,easing:"easeOutExpo",selector:{dimmer:"#dimmer",modal:".modal",closeButton:".close"}}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/nag.min.css b/node/src/files/components/semantic/minified/modules/nag.min.css deleted file mode 100644 index 6ced1d3d3..000000000 --- a/node/src/files/components/semantic/minified/modules/nag.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.nag{display:none;position:absolute;top:0;left:10%;z-index:100;width:80%;min-height:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;padding:8px 20px;background-color:#272626;background:-webkit-linear-gradient(top,rgba(22,22,22,.85) 0,#111 100%);background:-moz-linear-gradient(top,rgba(22,22,22,.85) 0,#111 100%);background:-o-linear-gradient(top,rgba(22,22,22,.85) 0,#111 100%);background:-ms-linear-gradient(top,rgba(22,22,22,.85) 0,#111 100%);background:linear-gradient(top,rgba(22,22,22,.85) 0,#111 100%);-webkit-box-shadow:0 2px 3px rgba(0,0,0,.4),0 1px 0 rgba(255,255,255,.1) inset;-moz-box-shadow:0 2px 3px rgba(0,0,0,.4),0 1px 0 rgba(255,255,255,.1) inset;box-shadow:0 2px 3px rgba(0,0,0,.4),0 1px 0 rgba(255,255,255,.1) inset;text-align:center;font-size:14px;font-weight:700;color:#009FDA;text-shadow:0 1px 0 rgba(0,0,0,.8);-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-transition:.2s background;-moz-transition:.2s background;-o-transition:.2s background;-ms-transition:.2s background;transition:.2s background}.ui.nag .close{cursor:pointer;opacity:.4;position:absolute;top:50%;right:15px;margin-top:-6px;font-size:12px;color:#FFF;-webkit-transition:.1s opacity;-moz-transition:.1s opacity;-o-transition:.1s opacity;-ms-transition:.1s opacity;transition:.1s opacity}.ui.nag .close.hover{opacity:1}.ui.nag b{font-weight:700;color:#EEE}.ui.nag.bottom{-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.ui.nag.fixed{position:fixed}.ui.nag.bottom.fixed{top:auto;bottom:0}.ui.nag.hover{cursor:pointer;background-color:#272626;background:-webkit-linear-gradient(top,#161616 0,#111 100%);background:-moz-linear-gradient(top,#161616 0,#111 100%);background:-o-linear-gradient(top,#161616 0,#111 100%);background:-ms-linear-gradient(top,#161616 0,#111 100%);background:linear-gradient(top,#161616 0,#111 100%)}.ui.nag.hover b{font-weight:700;color:#FFF}.ui.nag.white{background-color:#EEE;background:-webkit-linear-gradient(top,#fff 0,#ddd 100%);background:-moz-linear-gradient(top,#fff 0,#ddd 100%);background:-o-linear-gradient(top,#fff 0,#ddd 100%);background:-ms-linear-gradient(top,#fff 0,#ddd 100%);background:linear-gradient(top,#fff 0,#ddd 100%);-webkit-box-shadow:0 2px 3px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.1) inset;-moz-box-shadow:0 2px 3px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.1) inset;box-shadow:0 2px 3px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.1) inset;text-shadow:0 1px 0 rgba(255,255,255,.8);color:#888}.ui.nag.white .close,.ui.nag.white b{color:#000} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/nag.min.js b/node/src/files/components/semantic/minified/modules/nag.min.js deleted file mode 100644 index e5976ecfc..000000000 --- a/node/src/files/components/semantic/minified/modules/nag.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,o){e.fn.nag=function(n){var i=e.extend(!0,{},e.fn.nag.settings,n),a=arguments||!1;return e(this).each(function(){var n,s,r,c,l,u,d,f,m,p=e(this),g=p.find(i.selector.close),h=e(i.context),v=p.data("module"),b=i.className,y=t.requestAnimationFrame||t.mozRequestAnimationFrame||t.webkitRequestAnimationFrame||t.msRequestAnimationFrame||function(e){setTimeout(e,0)};return m={initialize:function(){n=p.offset(),s=p.outerHeight(),r=h.outerWidth(),c=h.outerHeight(),l=h.offset(),p.data("module",m),g.on("mouseenter mouseleave",m.event.hover).on("click",m.dismiss),i.context==t&&"fixed"==i.position&&p.addClass(b.fixed),i.sticky&&("absolute"==i.position?h.on("scroll resize",m.event.scroll):e(t).on("scroll resize",m.event.scroll),e.proxy(m.event.scroll,this)()),i.followLink&&p.on("mouseenter mouseleave",m.event.hover).on("click",m.followLink),i.displayTime>0&&setTimeout(m.hide,i.displayTime),m.should.show()?p.is(":visible")||m.show():m.hide()},refresh:function(){n=p.offset(),s=p.outerHeight(),r=h.outerWidth(),c=h.outerHeight(),l=h.offset()},show:function(){e.fn.popIn!==o?p.popIn(i.duration):p.fadeIn(i.duration,i.easing)},hide:function(){p.fadeOut(i.duration,i.easing)},stick:function(){if(m.refresh(),"fixed"==i.position){var n=e(t).prop("pageYOffset")||e(t).scrollTop(),o=p.hasClass(b.bottom)?l.top+(c-s)-n:l.top-n;p.css({position:"fixed",top:o,left:l.left,width:r-i.scrollBarWidth})}else p.css({top:d})},unStick:function(){p.css({top:""})},dismiss:function(){i.storageMethod&&m.storage.set(i.storedKey,i.storedValue),m.hide()},should:{show:function(){return m.storage.get(i.storedKey)==i.storedValue?!1:!0},stick:function(){return u=h.prop("pageYOffset")||h.scrollTop(),d=p.hasClass(b.bottom)?c-p.outerHeight()+u:u,d>n.top?!0:"fixed"==i.position?!0:!1}},followLink:function(){e.fn.followLink!==o&&p.followLink()},storage:{set:function(t,n){"local"==i.storageMethod&&store!==o?store.set(t,n):e.cookie!==o?e.cookie(t,n):m.error(i.errors.noStorage)},get:function(t){return"local"==i.storageMethod&&store!==o?store.get(t):e.cookie!==o?e.cookie(t):(m.error(i.errors.noStorage),o)}},event:{hover:function(){e(this).toggleClass(b.hover)},scroll:function(){f!==o&&clearTimeout(f),f=setTimeout(function(){m.should.stick()?y(m.stick):m.unStick()},i.lag)}},error:function(e){console.log("Nag Module:"+e)},invoke:function(t,n,a){var s;return a=a||Array.prototype.slice.call(arguments,2),"string"==typeof t&&v!==o&&(t=t.split("."),e.each(t,function(t,n){return e.isPlainObject(v[n])?(v=v[n],!0):e.isFunction(v[n])?(s=v[n],!0):(m.error(i.errors.method),!1)})),e.isFunction(s)?s.apply(n,a):s}},v!==o&&a?("invoke"==a[0]&&(a=Array.prototype.slice.call(a,1)),m.invoke(a[0],this,Array.prototype.slice.call(a,1))):(m.initialize(),o)}),this},e.fn.nag.settings={displayTime:0,followLink:!0,position:"fixed",scrollBarWidth:18,storageMethod:"cookie",storedKey:"nag",storedValue:"dismiss",sticky:!0,lag:0,context:t,errors:{noStorage:"Neither $.cookie or store is defined. A storage solution is required for storing state",followLink:"Follow link is set but the plugin is not included"},className:{bottom:"bottom",hover:"hover",fixed:"fixed"},selector:{close:".icon.close"},speed:500,easing:"easeOutQuad"}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/popup.min.css b/node/src/files/components/semantic/minified/modules/popup.min.css deleted file mode 100644 index 44d736913..000000000 --- a/node/src/files/components/semantic/minified/modules/popup.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.popup{display:none;position:absolute;top:57px;right:0;z-index:900;max-width:250px;background-color:#FAFAFA;padding:6px 8px;border:1px solid #DFDFDF;border:1px solid rgba(0,0,0,.12);font-size:11px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 2px 2px rgba(0,0,0,.3);-moz-box-shadow:0 2px 2px rgba(0,0,0,.3);box-shadow:0 2px 2px rgba(0,0,0,.3)}.ui.popup .ui.button,.ui.popup form.ui input .ui.popup form.ui textarea{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.ui.popup:after{font-family:Arial,"Helevetica Neue",sans-serif;display:block;position:absolute;font-size:14px;color:#FAFAFA;text-shadow:0 2px 2px rgba(0,0,0,.3)}.ui.popup:after,.ui.popup.top.left:after,.ui.popup.top.center:after,.ui.popup.top.right:after{content:'\25BC'}.ui.popup.bottom:after,.ui.popup.bottom.left:after,.ui.popup.bottom.right:after,.ui.popup.bottom.center:after{content:'\25B2'}.ui.popup.left:after{content:'\25B6'}.ui.popup.right:after{content:'\25C0'}.ui.popup{margin:0}.ui.popup.bottom{margin:9px 0 0}.ui.popup.top{margin:0 0 9px}.ui.popup.top.left,.ui.popup.bottom.left{margin-left:-12px}.ui.popup.top.right,.ui.popup.bottom.right{margin-right:-12px}.ui.popup.left.center{margin:0 9px 0 0}.ui.popup.right.center{margin:0 0 0 10px}.ui.popup:after{line-height:1;bottom:-10px;left:50%}.ui.popup.bottom:after{top:-11px;right:18px;text-shadow:0 -1px 1px rgba(0,0,0,.3)}.ui.popup.top.right:after,.ui.popup.bottom.right:after{left:auto;right:8px}.ui.popup.top.left:after,.ui.popup.bottom.left:after{right:auto;left:8px}.ui.popup.left.center:after{left:auto;right:-10px;top:50%;margin-top:-7px;text-shadow:2px 0 2px rgba(0,0,0,.3)}.ui.popup.right.center:after{left:-10px;right:auto;top:50%;margin-top:-7px;text-shadow:-2px 0 2px rgba(0,0,0,.3)}.ui.popup.top.center:after,.ui.popup.bottom.center:after{margin-left:-7px;left:50%;right:auto}.ui.popup.loading{display:block;visibility:hidden}.ui.popup.active{display:block}.ui.large.popup{padding:10px}.ui.large.popup .content{font-size:13px}.ui.large.popup.bottom{margin:11px 0 0}.ui.large.popup.top{margin:0 0 11px}.ui.large.popup.top.left,.ui.large.popup.bottom.left{margin-left:-12px}.ui.large.popup.top.right,.ui.large.popup.bottom.right{margin-right:-12px}.ui.large.popup.left.center{margin:0 12px 0 0}.ui.large.popup.right.center{margin:0 0 0 12px}.ui.large.popup:after{bottom:-13px;font-size:18px}.ui.popup.large.bottom:after{top:-15px}.ui.popup.large.left.center:after{right:-13px;margin-top:-9px}.ui.popup.large.right.center:after{left:-13px;margin-top:-9px}.ui.popup h2{font-size:14px;font-weight:700;color:#603E72;margin-bottom:5px}.ui.popup .content{font-size:12px;font-weight:400;line-height:1.33;color:#666;padding:0}.ui.popup .content p{margin-top:5px}.ui.popup .content p b{color:#603E72}.ui.popup .content p:first-child{margin-top:0}.ui.popup.transparent,.ui.popup.transparent:after{background-color:rgba(250,250,250,.9)}.ui.black.popup{background-color:#000;border:0}.ui.black.popup:after{color:#000}.ui.black.popup .content{color:#FFF} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/popup.min.js b/node/src/files/components/semantic/minified/modules/popup.min.js deleted file mode 100644 index 62d23f504..000000000 --- a/node/src/files/components/semantic/minified/modules/popup.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,o){e.fn.popup=function(i){var a,s=e.extend(!0,{},e.fn.popup.settings,i),r=arguments||!1;return e(this).each(function(){var c,l,u=e(this),d=e(t),f=u.offsetParent(),p=s.inline?u.next(s.selector.popup):d.children(s.selector.popup).last(),m=0,g=u.data("module-"+s.namespace),h=g!==o&&"string"==typeof i,v=s.selector,b=s.className,y=s.errors,x=s.metadata,C=s.namespace;l={initialize:function(){"hover"==s.event?u.on("mouseenter."+C,l.event.mouseenter).on("mouseleave."+C,l.event.mouseleave):u.on(s.event+"."+C,l.event[s.event]),d.on("resize."+C,l.event.resize),u.data("module-"+C,l)},refresh:function(){p=s.inline?u.next(v.popup):d.children(v.popup).last(),f=u.offsetParent()},destroy:function(){l.debug("Destroying existing popups"),u.off("."+C),p.remove()},event:{mouseenter:function(t){var n=this;c=setTimeout(function(){e.proxy(l.toggle,n)(),e(n).hasClass(b.visible)&&t.stopPropagation()},s.delay)},mouseleave:function(){clearTimeout(c),u.is(":visible")&&l.hide()},click:function(t){e.proxy(l.toggle,this)(),e(this).hasClass(b.visible)&&t.stopPropagation()},resize:function(){p.is(":visible")&&l.position()}},create:function(){l.debug("Creating pop-up content");var t=u.data(x.html)||s.html,n=u.data(x.title)||s.title,o=u.data(x.content)||u.attr("title")||s.content;t||o||n?(t||(t=s.template({title:n,content:o})),p=e("
").addClass(b.popup).html(t),s.inline?p.insertAfter(u):p.appendTo(e("body"))):l.error(y.content)},remove:function(){p.remove()},get:{offstagePosition:function(){var n={top:e(t).scrollTop(),bottom:e(t).scrollTop()+e(t).height(),left:0,right:e(t).width()},o={width:p.outerWidth(),height:p.outerHeight(),position:p.offset()},i={},a=[];return o.position&&(i={top:o.position.topn.bottom,right:o.position.left+o.width>n.right,left:o.position.left0?a.join(" "):!1},nextPosition:function(e){switch(e){case"top left":e="bottom left";break;case"bottom left":e="top right";break;case"top right":e="bottom right";break;case"bottom right":e="top center";break;case"top center":e="bottom center";break;case"bottom center":e="right center";break;case"right center":e="left center";break;case"left center":e="top center"}return e}},toggle:function(){u=e(this),l.debug("Toggling pop-up"),l.refresh(),0===p.size()&&l.create(),u.hasClass(b.visible)?l.hide():l.position()&&l.show()},position:function(n,o){var i,a,r=(e(t).width(),e(t).height(),u.outerWidth()),c=u.outerHeight(),g=p.outerWidth(),h=p.outerHeight(),v=s.inline?u.position():u.offset(),C=s.inline?f.outerWidth():d.outerWidth(),w=s.inline?f.outerHeight():d.outerHeight();switch(n=n||u.data(x.position)||s.position,o=o||u.data(x.arrowOffset)||s.arrowOffset,l.debug("Calculating offset for position",n),n){case"top left":i={top:"auto",bottom:w-v.top+s.distanceAway,left:v.left+o};break;case"top center":i={bottom:w-v.top+s.distanceAway,left:v.left+r/2-g/2+o,top:"auto",right:"auto"};break;case"top right":i={bottom:w-v.top+s.distanceAway,right:C-v.left-r-o,top:"auto",left:"auto"};break;case"left center":i={top:v.top+c/2-h/2,right:C-v.left+s.distanceAway-o,left:"auto",bottom:"auto"};break;case"right center":i={top:v.top+c/2-h/2,left:v.left+r+s.distanceAway+o,bottom:"auto",right:"auto"};break;case"bottom left":i={top:v.top+c+s.distanceAway,left:v.left+o,bottom:"auto",right:"auto"};break;case"bottom center":i={top:v.top+c+s.distanceAway,left:v.left+r/2-g/2+o,bottom:"auto",right:"auto"};break;case"bottom right":i={top:v.top+c+s.distanceAway,right:C-v.left-r-o,left:"auto",bottom:"auto"}}return e.extend(i,{width:p.width()+1}),p.removeAttr("style").removeClass("top right bottom left center").css(i).addClass(n).addClass(b.loading),a=l.get.offstagePosition(),a?(l.debug("Element is outside boundaries ",a),s.maxRecursion>m?(n=l.get.nextPosition(n),m++,l.debug("Trying new position: ",n),l.position(n)):(l.error(y.recursion),m=0,!1)):(l.debug("Position is on stage",n),m=0,!0)},show:function(){l.debug("Showing pop-up"),e(v.popup).filter(":visible").stop().fadeOut(200).prev(u).removeClass(b.visible),u.addClass(b.visible),p.removeClass(b.loading),"pop"==s.animation&&e.fn.popIn!==o?p.stop().popIn(s.duration,s.easing):p.stop().fadeIn(s.duration,s.easing),"click"==s.event&&s.clicktoClose&&(l.debug("Binding popup close event"),e(n).on("click."+C,l.gracefully.hide)),e.proxy(s.onShow,p)()},hide:function(){u.removeClass(b.visible),p.is(":visible")&&(l.debug("Hiding pop-up"),"pop"==s.animation&&e.fn.popOut!==o?p.stop().popOut(s.duration,s.easing,function(){p.hide()}):p.stop().fadeOut(s.duration,s.easing)),"click"==s.event&&s.clicktoClose&&e(n).off("click."+C),e.proxy(s.onHide,p)(),s.inline||l.remove()},gracefully:{hide:function(t){0===e(t.target).closest(v.popup).size()&&l.hide()}},setting:function(e,t){return t===o?s[e]:(s[e]=t,o)},debug:function(){var e=[],t=s.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.info||console.log||function(){};s.debug&&(e.push(t),o.apply(console,e.concat(n)))},error:function(){var e=[],t=s.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.warn||console.log||function(){};s.debug&&(e.push(t),e.concat(n),o.apply(console,e.concat(n)))},invoke:function(t,n,i){var a,r;return i=i||[].slice.call(arguments,2),"string"==typeof t&&g!==o&&(t=t.split("."),a=t.length-1,e.each(t,function(t,n){return e.isPlainObject(g[n])&&t!=a?(g=g[n],!0):g[n]!==o?(r=g[n],!0):(l.error(s.errors.method),!1)})),e.isFunction(r)?r.apply(n,i):r}},h?a=l.invoke(r[0],this,Array.prototype.slice.call(r,1)):(g&&l.destroy(),l.initialize())}),a!==o?a:this},e.fn.popup.settings={moduleName:"Pop-up Module",debug:!0,namespace:"popup",onShow:function(){},onHide:function(){},content:!1,html:!1,title:!1,position:"top center",delay:0,inline:!0,duration:250,easing:"easeOutQuint",animation:"pop",errors:{content:"Warning: Your popup has no content specified",method:"The method you called is not defined.",recursion:"Popup attempted to reposition element to fit, but could not find an adequate position."},distanceAway:2,arrowOffset:0,maxRecursion:10,event:"hover",clicktoClose:!0,metadata:{content:"content",html:"html",title:"title",position:"position",arrowOffset:"arrowOffset"},className:{popup:"ui popup",visible:"visible",loading:"loading"},selector:{popup:".ui.popup"},template:function(e){var t="";return typeof e!==o&&(typeof e.title!==o&&e.title&&(t+="

"+e.title+"

"),typeof e.content!==o&&e.content&&(t+='
'+e.content+"
")),t}}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/search.min.css b/node/src/files/components/semantic/minified/modules/search.min.css deleted file mode 100644 index 7abb76640..000000000 --- a/node/src/files/components/semantic/minified/modules/search.min.css +++ /dev/null @@ -1 +0,0 @@ -.search.module{position:relative}.search.module .prompt{opacity:.8;background:#fafafa url(/images/modules/search-icon.png) no-repeat 10px 7px;padding:5px 30px;font-size:14px;border:1px solid #CCC;color:#777;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-o-transition:opacity .3s;-ms-transition:opacity .3s;transition:opacity .3s}.search.module .search.button{position:relative;z-index:2;float:right;margin:0 0 0 -15px;padding:6px 15px 7px;-webkit-border-radius:0 15px 15px 0;-moz-border-radius:0 15px 15px 0;border-radius:0 15px 15px 0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.search.module.hover .prompt,.search.module.focus .prompt,.search.module.active .prompt{opacity:1;background-color:#FFF;-webkit-box-shadow:0 0 3px rgba(0,0,0,.2) inset;-moz-box-shadow:0 0 3px rgba(0,0,0,.2) inset;box-shadow:0 0 3px rgba(0,0,0,.2) inset;background-position:10px -43px;color:#482A5C}.search.module .prompt.filled{opacity:1;color:#222}.search.module .results{display:none;position:absolute;z-index:999;top:25px;left:0;overflow:hidden;width:300px;border:1px solid #EEE;background-color:#FFF;background-image:-webkit-linear-gradient(top,transparent 0,rgba(0,0,0,.2) 100%);background-image:-moz-linear-gradient(top,transparent 0,rgba(0,0,0,.2) 100%);background-image:-o-linear-gradient(top,transparent 0,rgba(0,0,0,.2) 100%);background-image:-ms-linear-gradient(top,transparent 0,rgba(0,0,0,.2) 100%);background-image:linear-gradient(top,transparent 0,rgba(0,0,0,.2) 100%);color:#555;font-size:12px;text-shadow:none;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.3);-moz-box-shadow:0 2px 2px 0 rgba(0,0,0,.3);box-shadow:0 2px 2px 0 rgba(0,0,0,.3)}.search.module .results ul{overflow:hidden;background-color:#FFF}.search.module .results li{cursor:pointer;overflow:hidden;line-height:1.2;padding:9px 11px;border-top:1px solid #EEE}.search.module .results li:first-child{border-top:0}.search.module .results li .image{background:#f0f0f0 url(../images/placeholder-subtle.png) no-repeat center center;margin-right:10px;float:left;overflow:hidden;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;width:38px;height:38px}.search.module .results li .image img{display:block;width:38px;height:38px}.search.module .results li .info{float:left}.search.module .results li .indented.info{float:none;margin-left:50px}.search.module .results li .title{font-weight:700;color:#442359}.search.module .results li .description{color:#777}.search.module .results li .price{float:right;color:#999;font-weight:700}.search.module .results li:hover{background-color:#F8F8F8}.search.module .results li.active{background-color:#F0F0F0}.search.module .results li.active .image{background:#efefef url(../images/placeholder-tiny.png) no-repeat center center}.search.module .results li.active .title{color:#000}.search.module .results li.active .description{color:#555}.search.module .results>ul{margin:0;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.search.module .results .category{overflow:hidden;background-color:#E4E4E4;border-top:1px solid rgba(0,0,0,.08);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.1);-moz-box-shadow:0 1px 0 rgba(255,255,255,.1);box-shadow:0 1px 0 rgba(255,255,255,.1);-webkit-transition:background .2s ease-in;-moz-transition:background .2s ease-in;-o-transition:background .2s ease-in;-ms-transition:background .2s ease-in;transition:background .2s ease-in}.search.module .results .category>.name{float:left;padding:12px 0 0 8px;font-weight:700;color:#777;text-shadow:0 1px 0 rgba(255,255,255,.8)}.search.module .results .category ul{overflow:hidden;margin-left:75px;border-left:1px solid rgba(0,0,0,.3);-webkit-box-shadow:-2px 0 5px rgba(0,0,0,.15);-moz-box-shadow:-2px 0 5px rgba(0,0,0,.15);box-shadow:-2px 0 5px rgba(0,0,0,.15);-webkit-transition:box-shadow .2s ease-in;-moz-transition:box-shadow .2s ease-in;-o-transition:box-shadow .2s ease-in;-ms-transition:box-shadow .2s ease-in;transition:box-shadow .2s ease-in}.search.module .results .category.active{background-color:#DCDCDC}.search.module .results .category.active .name{color:#555}.search.module .results .category.active ul{-webkit-box-shadow:-2px 0 5px rgba(0,0,0,.4);-moz-box-shadow:-2px 0 5px rgba(0,0,0,.4);box-shadow:-2px 0 5px rgba(0,0,0,.4)}.search.module .result-page{display:block;height:35px;background-color:#FAFAFA;line-height:35px;font-weight:700;text-align:center;color:#555;border-top:1px solid #DDD;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;-moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;box-shadow:0 1px 0 rgba(255,255,255,.8) inset}.search.module .result-page:hover{background-color:#F0F0F0}.search.module .big.results li .image{background-image:url(../images/placeholder-subtle.png)}.search.module .big.results li .image,.search.module .big.results li .image img{width:50px;height:50px}.search.module .big.results .indented.info{margin-left:65px}.search.module .big.results .info .title{font-size:16px}.search.module .big.results .info .description{font-size:11px}.search.module .message{background-color:#FFF;overflow:hidden;padding:10px 25px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.search.module .message .text h2{font-size:14px;font-weight:700;color:#555}.search.module .message .text p{font-size:12px;color:#777}.search.module.loading .prompt{background-image:url(/images/modules/search-throbber.gif);background-repeat:no-repeat;background-position:8px 5px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/search.min.js b/node/src/files/components/semantic/minified/modules/search.min.js deleted file mode 100644 index 992f1385b..000000000 --- a/node/src/files/components/semantic/minified/modules/search.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,o){e.fn.searchPrompt=function(n,i){var s,a=e.extend(!0,{},e.fn.searchPrompt.settings,i),r=arguments[0],l=[].slice.call(arguments,1);return e(this).each(function(){var i,c=e(this),u=c.find(a.selector.searchPrompt),d=c.find(a.selector.searchButton),f=c.find(a.selector.searchResults),p=(c.find(a.selector.result),c.find(a.selector.category),c.find(a.selector.emptyResult),c.find(a.selector.resultPage),this),m=(c.selector||"",c.data("module-"+a.namespace)),g=m!==o&&"string"==typeof r,h=a.className,v=a.namespace,b=a.errors;i={initialize:function(){var e=u[0],t=e.oninput!==o?"input":e.onpropertychange!==o?"propertychange":"keyup";u.on("focus."+v,i.event.focus).on("blur."+v,i.event.blur).on("keydown."+v,i.handleKeyboard),a.automatic&&u.on(t+"."+v,i.search.throttle),d.on("click."+v,i.search.query),f.on("click."+v,a.selector.result,i.results.select),c.data("module-"+v,i)},event:{focus:function(){c.addClass(h.focus),i.results.show()},blur:function(){i.search.cancel(),c.removeClass(h.focus),i.results.hide()}},handleKeyboard:function(t){var n,o=c.find(a.selector.result),s=c.find(a.selector.category),r=t.which,l={backspace:8,enter:13,escape:27,upArrow:38,downArrow:40},p=h.active,m=o.index(o.filter("."+p)),g=o.size();if(r==l.escape&&u.trigger("blur"),f.filter(":visible").size()>0)if(r==l.enter){if(o.filter("."+p).exists())return e.proxy(i.results.select,o.filter("."+p))(),t.preventDefault(),!1}else r==l.upArrow?(n=0>m-1?m:m-1,s.removeClass(p),o.removeClass(p).eq(n).addClass(p).closest(s).addClass(p),t.preventDefault()):r==l.downArrow&&(n=m+1>=g?m:m+1,s.removeClass(p),o.removeClass(p).eq(n).addClass(p).closest(s).addClass(p),t.preventDefault());else r==l.enter&&(i.search.query(),d.addClass(h.down),u.one("keyup",function(){d.removeClass(h.down)}))},search:{cancel:function(){var e=c.data("xhr")||!1;e&&"resolved"!=e.state()&&e.abort()},throttle:function(){var e,t=u.val(),n=t.length;clearTimeout(c.data("timer")),n>=a.minCharacters?(e=setTimeout(i.search.query,a.searchThrottle),c.data("timer",e)):i.results.hide()},query:function(){var t=u.val(),o=i.search.cache.read(t);o?(i.debug("Reading result for '"+t+"' from cache"),i.results.add(o)):(i.debug("Querying for '"+t+"'"),"object"==typeof n?i.search.local(t):i.search.remote(t),e.proxy(a.onSearchQuery,c)(t))},local:function(t){var o,s=[],r=[],l=e.isArray(a.searchFields)?a.searchFields:[a.searchFields],u=RegExp("(?:s|^)"+t,"i"),d=RegExp(t,"i");c.addClass(h.loading),e.each(l,function(t,o){e.each(n,function(t,n){"string"==typeof n[o]&&-1==e.inArray(n,s)&&-1==e.inArray(n,r)&&(u.test(n[o])?s.push(n):d.test(n[o])&&r.push(n))})}),o=i.results.generate({results:e.merge(s,r)}),c.removeClass(h.loading),i.search.cache.write(t,o),i.results.add(o)},remote:function(t){var s,r=c.data("xhr")!==o?c.data("xhr"):!1,l={stateContext:c,url:n,urlData:{query:t},success:function(e){s=i.results.generate(e),i.search.cache.write(t,s),i.results.add(s)},failure:i.error};r&&"resolved"!=r.state()&&r.abort(),e.extend(!0,l,a.apiSettings),e.api(l)},cache:{read:function(e){var t=c.data("cache");return a.cache&&"object"==typeof t&&t[e]!==o?t[e]:!1},write:function(e,t){var n=c.data("cache")!==o?c.data("cache"):{};n[e]=t,c.data("cache",n)}}},results:{generate:function(t){i.debug("Generating html from response",t);var n=a.templates[a.type],o="";return e.isPlainObject(t.results)&&!e.isEmptyObject(t.results)||e.isArray(t.results)&&t.results.length>0?(a.maxResults>0&&(t.results=e.makeArray(t.results).slice(0,a.maxResults)),t.results.length>0&&(e.isFunction(n)?o=n(t):i.error(b.noTemplate,!1))):o=i.message(b.noResults,"empty"),e.proxy(a.onSearchResults,c)(t),o},add:function(t){("default"==a.onResultsAdd||"default"==e.proxy(a.onResultsAdd,f)(t))&&f.html(t),i.results.show()},show:function(){0===f.filter(":visible").size()&&u.filter(":focus").size()>0&&""!==f.html()&&(f.stop().fadeIn(200),e.proxy(a.onResultsOpen,f)())},hide:function(){f.filter(":visible").size()>0&&(f.stop().fadeOut(200),e.proxy(a.onResultsClose,f)())},followLink:function(){},select:function(n){i.debug("Search result selected");var o=e(this),s=o.find(".title"),r=s.html();if("default"==a.onSelect||"default"==e.proxy(a.onSelect,this)(n)){var l=o.find("a[href]").eq(0),c=l.attr("href"),d=l.attr("target");try{i.results.hide(),u.val(r),"_blank"==d||n.ctrlKey?t.open(c):t.location.href=c}catch(f){}}}},setting:function(e,t){return t===o?a[e]:(a[e]=t,o)},debug:function(){var e=[],t=a.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.info||console.log||function(){};o=Function.prototype.bind.call(o,console),a.debug&&(e.push(t),o.apply(console,e.concat(n)))},message:function(e,t){return t=t||"standard",i.results.add(a.templates.message(e,t)),a.templates.message(e,t)},error:function(e,t){t=t!==o?t:!0,console.warn(a.moduleName+": "+e),t&&e!==o&&i.message(e,"error")},invoke:function(t,n,s){var a,r;return s=s||[].slice.call(arguments,2),"string"==typeof t&&m!==o&&(t=t.split("."),a=t.length-1,e.each(t,function(t,n){return e.isPlainObject(m[n])&&t!=a?(m=m[n],!0):m[n]!==o?(r=m[n],!0):(i.error(b.method),!1)})),e.isFunction(r)?r.apply(n,s):r}},g?s=i.invoke(r,p,l):i.initialize()}),s!==o?s:this},e.fn.searchPrompt.settings={moduleName:"Search Module",debug:!0,namespace:"search",onSelect:"default",onResultsAdd:"default",onSearchQuery:function(){},onSearchResults:function(){},onResultsOpen:function(){},onResultsClose:function(){},automatic:"true",type:"simple",minCharacters:3,searchThrottle:300,maxResults:7,cache:!0,searchFields:["title","description"],apiSettings:{},className:{active:"active",down:"down",focus:"focus",empty:"empty",loading:"loading"},errors:{noResults:"Your search returned no results",logging:"Error in debug logging, exiting.",noTemplate:"A valid template name was not specified.",serverError:"There was an issue with querying the server.",method:"The method you called is not defined."},selector:{searchPrompt:".prompt",searchButton:".search.button",searchResults:".results",category:".category",result:".result",emptyResult:".results .message",resultPage:".results .page"},templates:{message:function(e,t){var n="";return e!==o&&t!==o&&(n+='
'+'
',n+="empty"==t?"

No Results

"+e+"

":'
'+e+"
",n+="
"),n},categories:function(t){var n="";return t.results!==o?(e.each(t.results,function(t,i){i.results!==o&&i.results.length>0&&(n+='
'+i.name+"
"+"
    ",e.each(i.results,function(e,t){n+='
  • ',n+='',t.image!==o&&(n+='
    '+"
    "),n+=t.image!==o?'
    ':'
    ',t.price!==o&&(n+='
    '+t.price+"
    "),t.title!==o&&(n+='
    '+t.title+"
    "),t.description!==o&&(n+='
    '+t.description+"
    "),n+="
  • "}),n+="
")}),t.resultPage&&(n+=''+t.resultPage.text+""),n):!1},simple:function(t){var n="";return t.results!==o?(n+="
    ",e.each(t.results,function(e,t){n+='
  • ',t.url!==o&&(n+=''),t.image!==o&&(n+='
    '+"
    "),n+=t.image!==o?'
    ':'
    ',t.price!==o&&(n+='
    '+t.price+"
    "),t.title!==o&&(n+='
    '+t.title+"
    "),t.description!==o&&(n+='
    '+t.description+"
    "),n+="
  • "}),n+="
",t.resultPage&&(n+=''+t.resultPage.text+""),n):!1}}}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/shape.min.css b/node/src/files/components/semantic/minified/modules/shape.min.css deleted file mode 100644 index ff38537b8..000000000 --- a/node/src/files/components/semantic/minified/modules/shape.min.css +++ /dev/null @@ -1 +0,0 @@ -.shape.module{position:relative;-webkit-perspective:2000px;-moz-perspective:2000px;-ms-perspective:2000px;perspective:2000px}.shape.module .shape{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d}.shape.module .side{opacity:1;width:100%;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden}.shape.module .side{display:none}.shape.module.animating .shape{position:absolute}.shape.module .animating.side{position:absolute;width:100%;top:0;left:0;z-index:100}.shape.module .hidden.side{opacity:.7}.shape.css.module{-webkit-transition:all .6s ease-in-out;-moz-transition:all .6s ease-in-out;-o-transition:all .6s ease-in-out;-ms-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.shape.css.module .shape{-webkit-transition:all .6s ease-in-out;-moz-transition:all .6s ease-in-out;-o-transition:all .6s ease-in-out;-ms-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.shape.css.module .side{-webkit-transition:opacity .6s ease-out;-moz-transition:opacity .6s ease-out;-o-transition:opacity .6s ease-out;-ms-transition:opacity .6s ease-out;transition:opacity .6s ease-out}.shape.module .active.side{display:block} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/shape.min.js b/node/src/files/components/semantic/minified/modules/shape.min.js deleted file mode 100644 index c01486a67..000000000 --- a/node/src/files/components/semantic/minified/modules/shape.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,o){e.fn.shape=function(t){var i,a=e(this),s=e.extend(!0,{},e.fn.shape.settings,t),r="."+s.namespace,l="module-"+s.namespace,c=arguments[0],u=[].slice.call(arguments,1),d="string"==typeof c;return a.each(function(){var t,a,f,p=e(this),m=p.find(s.selector.shape),g=p.find(s.selector.side),h="transitionend msTransitionEnd oTransitionEnd",v=(p.selector||"",this),b=p.data(l),y=(s.namespace,s.error),x=s.className;f={initialize:function(){f.verbose("Initializing module for",v),f.set.defaultSide(),b=f,p.data(l,b)},destroy:function(){f.verbose("Destroying previous module for",v),p.removeData(l).off(r)},refresh:function(){f.verbose("Refreshing selector cache for",v),p=e(v),m=e(this).find(s.selector.shape),g=e(this).find(s.selector.side)},repaint:function(){f.verbose("Forcing repaint event");var e=m.get(0)||n.createElement("div");e.offsetWidth},animate:function(n,o){f.verbose("Animating box with properties",n),o=o||function(t){f.reset(),f.set.active(),e.proxy(s.onChange,a)(),t.stopImmediatePropagation()},s.useCSS?(f.verbose("Starting CSS animation"),p.addClass(x.animating),f.set.stageSize(),f.repaint(),p.addClass(x.css),t.addClass(x.hidden),m.css(n).one(h,o)):(f.verbose("Starting javascript animation"),p.addClass(x.animating).removeClass(x.css),f.set.stageSize(),f.repaint(),t.animate({opacity:0},s.duration,s.easing),m.animate(n,s.duration,s.easing,o))},queue:function(e){f.debug("Queueing animation of",e),m.one(h,function(){f.debug("Executing queued animation"),p.shape(e)})},reset:function(){f.verbose("Animating states reset"),p.removeClass(x.css).removeClass(x.animating).removeAttr("style"),m.removeAttr("style"),g.removeAttr("style").removeClass(x.hidden),a.removeClass(x.animating).removeAttr("style")},is:{animating:function(){return p.hasClass(x.animating)}},get:{nextSide:function(){return t.next(s.selector.side).size()>0?t.next(s.selector.side):p.find(s.selector.side).first()}},set:{defaultSide:function(){t=p.find("."+s.className.active),a=t.next(s.selector.side).size()>0?t.next(s.selector.side):p.find(s.selector.side).first(),f.verbose("Active side set to",t),f.verbose("Next side set to",a)},stageSize:function(){var e={width:a.outerWidth(),height:a.outerHeight()};f.verbose("Resizing stage to fit new content",e),p.css({width:e.width,height:e.height})},nextSide:function(e){a=p.find(e),0===a.size()&&f.error(y.side),f.verbose("Next side manually set to",a)},active:function(){f.verbose("Setting new side to active",a),g.removeClass(x.active),a.addClass(x.active),f.set.defaultSide()}},flip:{up:function(){f.debug("Flipping up",a),f.is.animating()?f.queue("flip.up"):(f.stage.above(),f.animate(f.getTransform.up()))},down:function(){f.debug("Flipping down",a),f.is.animating()?f.queue("flip.down"):(f.stage.below(),f.animate(f.getTransform.down()))},left:function(){f.debug("Flipping left",a),f.is.animating()?f.queue("flip.left"):(f.stage.left(),f.animate(f.getTransform.left()))},right:function(){f.debug("Flipping right",a),f.is.animating()?f.queue("flip.right"):(f.stage.right(),f.animate(f.getTransform.right()))},over:function(){f.debug("Flipping over",a),f.is.animating()?f.queue("flip.over"):(f.stage.behind(),f.animate(f.getTransform.behind()))}},getTransform:{up:function(){var e={y:-((t.outerHeight()-a.outerHeight())/2),z:-(t.outerHeight()/2)};return{transform:"translateY("+e.y+"px) translateZ("+e.z+"px) rotateX(-90deg)"}},down:function(){var e={y:-((t.outerHeight()-a.outerHeight())/2),z:-(t.outerHeight()/2)};return{transform:"translateY("+e.y+"px) translateZ("+e.z+"px) rotateX(90deg)"}},left:function(){var e={x:-((t.outerWidth()-a.outerWidth())/2),z:-(t.outerWidth()/2)};return{transform:"translateX("+e.x+"px) translateZ("+e.z+"px) rotateY(90deg)"}},right:function(){var e={x:-((t.outerWidth()-a.outerWidth())/2),z:-(t.outerWidth()/2)};return{transform:"translateX("+e.x+"px) translateZ("+e.z+"px) rotateY(-90deg)"}},behind:function(){var e={x:-((t.outerWidth()-a.outerWidth())/2)};return{transform:"translateX("+e.x+"px) rotateY(180deg)"}}},stage:{above:function(){var e={origin:(t.outerHeight()-a.outerHeight())/2,depth:{active:a.outerHeight()/2,next:t.outerHeight()/2}};f.verbose("Setting the initial animation position as above",a,e),t.css({transform:"rotateY(0deg) translateZ("+e.depth.active+"px)"}),a.addClass(x.animating).css({display:"block",top:e.origin+"px",transform:"rotateX(90deg) translateZ("+e.depth.next+"px)"})},below:function(){var e={origin:(t.outerHeight()-a.outerHeight())/2,depth:{active:a.outerHeight()/2,next:t.outerHeight()/2}};f.verbose("Setting the initial animation position as below",a,e),t.css({transform:"rotateY(0deg) translateZ("+e.depth.active+"px)"}),a.addClass(x.animating).css({display:"block",top:e.origin+"px",transform:"rotateX(-90deg) translateZ("+e.depth.next+"px)"})},left:function(){var e={origin:(t.outerWidth()-a.outerWidth())/2,depth:{active:a.outerWidth()/2,next:t.outerWidth()/2}};f.verbose("Setting the initial animation position as left",a,e),t.css({transform:"rotateY(0deg) translateZ("+e.depth.active+"px)"}),a.addClass(x.animating).css({display:"block",left:e.origin+"px",transform:"rotateY(-90deg) translateZ("+e.depth.next+"px)"})},right:function(){var e={origin:(t.outerWidth()-a.outerWidth())/2,depth:{active:a.outerWidth()/2,next:t.outerWidth()/2}};f.verbose("Setting the initial animation position as left",a,e),t.css({transform:"rotateY(0deg) translateZ("+e.depth.active+"px)"}),a.addClass(x.animating).css({display:"block",left:e.origin+"px",transform:"rotateY(90deg) translateZ("+e.depth.next+"px)"})},behind:function(){var e={origin:(t.outerWidth()-a.outerWidth())/2,depth:{active:a.outerWidth()/2,next:t.outerWidth()/2}};f.verbose("Setting the initial animation position as behind",a,e),t.css({transform:"rotateY(0deg)"}),a.addClass(x.animating).css({display:"block",left:e.origin+"px",transform:"rotateY(-180deg)"})}},setting:function(t,n){if(e.isPlainObject(t))e.extend(!0,s,t);else{if(n===o)return s[t];s[t]=n}},verbose:function(){s.verbose&&f.debug.apply(this,arguments)},debug:function(){var e=[],t=s.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.info||console.log||function(){};o=Function.prototype.bind.call(o,console),s.debug&&(e.push(t),o.apply(console,e.concat(n)))},error:function(){var e=[],t=s.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.warn||console.log||function(){};o=Function.prototype.bind.call(o,console),s.debug&&(e.push(t),e.concat(n),o.apply(console,e.concat(n)))},invoke:function(t,n,i){var a,s;return n=n||u||[].slice.call(arguments,2),i=v||i,"string"==typeof t&&b!==o&&(t=t.split("."),a=t.length-1,e.each(t,function(t,n){return e.isPlainObject(b[n])&&t!=a?(b=b[n],!0):b[n]!==o?(s=b[n],!0):(f.error(y.method),!1)})),e.isFunction(s)?(f.verbose("Executing invoked function",s),s.apply(i,n)):s||!1}},d?(b===o&&f.initialize(),i=f.invoke(c)):(b!==o&&f.destroy(),f.initialize())}),i?i:this},e.fn.shape.settings={moduleName:"Shape Module",debug:!0,verbose:!0,namespace:"shape",beforeChange:function(){},onChange:function(){},useCSS:!0,duration:1e3,easing:"easeInOutQuad",error:{side:"You tried to switch to a side that does not exist.",method:"The method you called is not defined"},className:{css:"css",animating:"animating",hidden:"hidden",active:"active"},selector:{shape:".shape",side:".side"}}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/star.min.css b/node/src/files/components/semantic/minified/modules/star.min.css deleted file mode 100644 index 0e267ca1f..000000000 --- a/node/src/files/components/semantic/minified/modules/star.min.css +++ /dev/null @@ -1 +0,0 @@ -.star.module{min-width:88px;height:42px;unicode-bidi:bidi-override;direction:rtl;font-size:26px}.star.module i,.ui.star{cursor:default;float:left;padding:2px 1px;font-style:normal;font-weight:400;content:"\2605";color:transparent}.star.module i:after,.ui.star:after{content:"\2605";color:#8C8C8C;-webkit-transition:all .25s;-moz-transition:all .25s;-o-transition:all .25s;-ms-transition:all .25s;transition:all .25s}.star.module.initialize,.star.module.initialize i{cursor:pointer}.star.module i.active:after{color:#FFCB08}.star.module.hover i.active:after{opacity:.5}.star.module i.hover:after,.star.module i.hover.active:after{opacity:1;color:#FFB70A;text-shadow:0 0 7px #FFCB08} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/star.min.js b/node/src/files/components/semantic/minified/modules/star.min.js deleted file mode 100644 index 4dc007860..000000000 --- a/node/src/files/components/semantic/minified/modules/star.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,o){e.fn.starReview=function(t){var n=e.extend(!0,{},e.fn.starReview.settings,t),i=arguments||!1;return e(this).each(function(){var t,a=e(this),s=a.find(n.selector.star),r=n.className,l=n.namespace,c=a.data("module");return t={settings:n,initialize:function(){n.rateable&&(e.fn.state!==o&&(a.state(),s.state()),s.bind("mouseenter."+l,t.event.mouseenter).bind("mouseleave."+l,t.event.mouseleave).bind("click."+l,t.event.click)),a.addClass(r.initialize).data("module",t)},setRating:function(t){var o=s.eq(t-1);a.removeClass(r.hover),s.removeClass(r.hover),o.nextAll().removeClass(r.active),o.addClass(r.active).prevAll().addClass(r.active),e.proxy(n.onRate,a)()},event:{mouseenter:function(){var t=e(this);t.nextAll().removeClass(r.hover),a.addClass(r.hover),t.addClass(r.hover).prevAll().addClass(r.hover)},mouseleave:function(){s.removeClass(r.hover)},click:function(){var n=e(this);t.setRating(s.index(n)+1)}},error:function(e){console.warn(n.moduleName+": "+e)},invoke:function(i,a,s){var r;return s=s||Array.prototype.slice.call(arguments,2),"string"==typeof i&&c!==o&&(i=i.split("."),e.each(i,function(o,i){return e.isPlainObject(c[i])?(c=c[i],!0):e.isFunction(c[i])?(r=c[i],!0):(t.error(n.errors.method),!1)})),e.isFunction(r)?r.apply(a,s):!1}},c!==o&&i?("invoke"==i[0]&&(i=Array.prototype.slice.call(i,1)),t.invoke(i[0],this,Array.prototype.slice.call(i,1))):(t.initialize(),o)}),this},e.fn.starReview.settings={moduleName:"Star Module",namespace:"star",rateable:!0,onRate:function(){},className:{initialize:"initialize",loading:"loading",active:"active",hover:"hover",down:"down"},selector:{star:"i"}}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/tab.min.css b/node/src/files/components/semantic/minified/modules/tab.min.css deleted file mode 100644 index c0844f7e9..000000000 --- a/node/src/files/components/semantic/minified/modules/tab.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.tab{display:none;background-color:#FFF;border:1px solid #DADADA;border-top-color:transparent;border-top-width:0}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading>.throbber{display:block}.ui.tab.simple{background-color:transparent;border:0} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/tab.min.js b/node/src/files/components/semantic/minified/modules/tab.min.js deleted file mode 100644 index 824ac9e61..000000000 --- a/node/src/files/components/semantic/minified/modules/tab.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,o){e.fn.tabNavigation=function(n){var i,a,s,r,l,c=e.extend(!0,{},e.fn.tabNavigation.settings,n),u=e(this),d=e(c.context).find(c.selector.tabs),f=!0,p={},g=0,m=c.className,h=c.metadata,v=c.namespace,b=c.errors,y=u.data("module"),x=arguments[0],C=y!==o&&"string"==typeof x,w=[].slice.call(arguments,1);return r={initialize:function(){r.debug("Initializing Tabs",u),c.history&&c.path!==!1&&(e.address!==o?(r.verbose("Address library found adding state change event"),e.address.state(c.path).change(r.event.history.change)):r.error(b.state)),e.isWindow(u.get(0))||u.on("click."+v,r.event.click),u.data("module",r)},destroy:function(){r.debug("Destroying tabs",u),u.off("."+v)},event:{click:function(){r.debug("Navigation clicked");var t=e(this).data(h.tab);t!==o?t!==i&&(c.history?e.address.value(t):r.change(t)):r.debug("No tab specified")},history:{change:function(t){var n=t.pathNames.join("/")||r.get.initialPath(),i=c.templates.determineTitle(n)||!1;r.debug("History change event",n,t),s=t,n!==o&&r.change(n),i&&e.address.title(i)}}},refresh:function(){i&&(r.debug("Refreshing tab",i),r.change(i))},cache:{read:function(e){return e!==o?p[e]:p},add:function(e,t){e=e||i,r.debug("Adding cached content for",e),p[e]=t},remove:function(e){e=e||i,r.debug("Removing cached content for",e),delete p[e]}},change:function(n){var l=r.get.defaultPathArray(n);r.deactivate.all(),e.each(l,function(u,d){var g=l.slice(0,u+1),m=r.utils.arrayToPath(g),h=r.utils.last(l)==m,v=r.is.tab(m),b=!v,y=t.history&&t.history.pushState,x=y&&c.ignoreFirstLoad&&f,C=e.isPlainObject(c.apiSettings),w=r.get.tabElement(m);return r.verbose("Looking for tab",d),b?(r.verbose("Tab is not found, assuming it is a parameter",d),!0):(v&&(r.verbose("Tab was found",d),i=m,a=r.utils.filterArray(l,g),h&&C?x?(r.debug("Ignoring remote content on first tab load",m),f=!1,p[n]=w.html(),r.activate.all(m),e.proxy(c.onTabInit,w)(m,a,s)):(r.activate.navigation(m),r.content.fetch(m,c.onTabLoad)):(r.debug("Opened tab",m),r.activate.all(m),e.proxy(c.onTabLoad,w)(m,a,s))),o)})},content:{fetch:function(t){var n=r.get.tabElement(t),l=p[t]||!1,u={dataType:"html",stateContext:n,success:function(o){p[t]=o,r.content.update(t,o),t==i?(r.debug("Content loaded",t),r.activate.tab(t)):r.debug("Content loaded in background",t),e.proxy(c.onTabInit,n)(t,a,s)},urlData:{tab:t}},d=n.data(h.promise)||!1,f=d&&"pending"===d.state();c.cache&&l?(r.debug("Showing existing content",t),r.activate.tab(t),e.proxy(c.onTabLoad,n)(t,a,s)):f?(r.debug("Content is already loading",t),n.addClass(m.loading)):e.api!==o?(r.debug("Retrieving content",t),e.api(e.extend(!0,{},c.apiSettings,u))):r.error(b.api)},update:function(e,t){r.debug("Updating html for",e);var n=r.get.tabElement(e);n.html(t)}},activate:{all:function(e){r.activate.tab(e),r.activate.navigation(e)},tab:function(e){var t=r.get.tabElement(e);r.verbose("Showing tab content for",t),t.addClass(m.active)},navigation:function(e){var t=r.get.navElement(e);r.verbose("Activating tab navigation for",t),t.addClass(m.active)}},deactivate:{all:function(){r.deactivate.navigation(),r.deactivate.tabs()},navigation:function(){u.removeClass(m.active)},tabs:function(){d.removeClass(m.active+" "+m.loading)}},is:{tab:function(e){return r.get.tabElement(e).size()>0}},get:{initialPath:function(){return u.eq(0).data(h.tab)||d.eq(0).data(h.tab)},defaultPathArray:function(e){return r.utils.pathToArray(r.get.defaultPath(e))},defaultPath:function(e){var t=u.filter("[data-"+h.tab+'^="'+e+'/"]').eq(0),n=t.data(h.tab)||!1;if(n){if(r.debug("Found default tab",n),c.maxDepth>g)return g++,r.get.defaultPath(n);r.error(b.recursion)}return g=0,e},navElement:function(e){return e=e||i,u.filter("[data-"+h.tab+'="'+e+'"]')},tabElement:function(e){var t,n,o,a;return e=e||i,o=r.utils.pathToArray(e),a=r.utils.last(o),t=d.filter("[data-"+h.tab+'="'+a+'"]'),n=d.filter("[data-"+h.tab+'="'+e+'"]'),t.size()>0?t:n},tab:function(){return i}},utils:{filterArray:function(t,n){return e.grep(t,function(t){return-1==e.inArray(t,n)})},last:function(t){return e.isArray(t)?t[t.length-1]:!1},pathToArray:function(e){return e===o&&(e=i),"string"==typeof e?e.split("/"):[e]},arrayToPath:function(t){return e.isArray(t)?t.join("/"):!1}},setting:function(e,t){return t===o?c[e]:(c[e]=t,o)},verbose:function(){c.verbose&&r.debug.apply(this,arguments)},debug:function(){var e=[],t=c.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.info||console.log||function(){};o=Function.prototype.bind.call(o,console),c.debug&&(e.push(t),o.apply(console,e.concat(n)))},error:function(){var e=[],t=c.moduleName+": "+arguments[0],n=[].slice.call(arguments,1),o=console.warn||console.log||function(){};o=Function.prototype.bind.call(o,console),c.debug&&(e.push(t),e.concat(n),o.apply(console,e.concat(n)))},invoke:function(t,n,i){var a,s;return i=i||[].slice.call(arguments,2),"string"==typeof t&&y!==o&&(t=t.split("."),a=t.length-1,e.each(t,function(t,n){return e.isPlainObject(y[n])&&t!=a?(y=y[n],!0):y[n]!==o?(s=y[n],!0):(r.error(c.errors.method),!1)})),e.isFunction(s)?s.apply(n,i):s}},C?l=r.invoke(x,this,w):r.initialize(),l!==o?l:this},e.tabNavigation=function(n){e(t).tabNavigation(n)},e.fn.tabNavigation.settings={moduleName:"Tab Module",verbose:!1,debug:!0,namespace:"tab",onTabInit:function(){},onTabLoad:function(){},templates:{determineTitle:function(){}},history:!1,path:!1,context:"body",maxDepth:25,ignoreFirstLoad:!0,alwaysRefresh:!1,cache:!0,apiSettings:!1,errors:{api:"You attempted to load content without API module",noContent:"The tab you specified is missing a content url.",method:"The method you called is not defined",state:"The state library has not been initialized",missingTab:"Missing tab: ",recursion:"Max recursive depth reached"},metadata:{tab:"tab",loaded:"loaded",promise:"promise"},className:{loading:"loading",active:"active"},selector:{tabs:".tab"}}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/video.min.css b/node/src/files/components/semantic/minified/modules/video.min.css deleted file mode 100644 index 14fc4b9e3..000000000 --- a/node/src/files/components/semantic/minified/modules/video.min.css +++ /dev/null @@ -1 +0,0 @@ -.video.module{position:relative;background:#333 url(../images/placeholder.png) no-repeat center center}.video.module .play{cursor:pointer;position:absolute;top:0;left:0;z-index:100;-ms-filter:"alpha(Opacity=60)";filter:alpha(opacity=60);opacity:.6;width:100%;height:100%;background:url(/images/modules/video-play.png) no-repeat center center;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-o-transition:opacity .3s;-ms-transition:opacity .3s;transition:opacity .3s}.video.module .play:hover{opacity:1}.video.module .placeholder{width:100%;height:100%}.video.module .embed{display:none}.video.module.active .play,.video.module.active .placeholder{display:none}.video.module.active .embed{display:block} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/modules/video.min.js b/node/src/files/components/semantic/minified/modules/video.min.js deleted file mode 100644 index abc69abc1..000000000 --- a/node/src/files/components/semantic/minified/modules/video.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n,o){e.fn.video=function(t){var n,i=e.extend(!0,{},e.fn.video.settings,t),a=arguments||!1;return e(this).each(function(){var s,r=e(this),l=r.find(i.selector.placeholder),c=r.find(i.selector.playButton),u=r.find(i.selector.embed),d=r.data("module-"+i.namespace),f="string"==typeof t,p=i.namespace,m=i.metadata,g=i.className;s={initialize:function(){s.debug("Initializing video"),l.off(".video").on("click."+p,s.play),c.off(".video").on("click."+p,s.play),r.data("module-"+p,s)},change:function(e,t){s.debug("Changing video to ",t),r.data(m.source,e).data(m.flv,t),i.onChange()},reset:function(){s.debug("Clearing video embed and showing placeholder"),r.removeClass(g.active),u.html(" "),l.show(),i.onReset()},play:function(){s.debug("Playing video");var e=r.data(m.source),t=r.data(m.flv);u.html(s.generate.html(e,t)),r.addClass(g.active),i.onPlay()},generate:{html:function(e,t){s.debug("Generating embed html");var n,o="auto"==i.width?r.width():i.width,a="auto"==i.height?r.height():i.height;return"vimeo"==e?n='':"youtube"==e&&(n=''),n},url:function(e){var t=i.api?1:0,n=i.autoplay?1:0,o=i.hd?1:0,a=i.showUI?1:0,s=i.showUI?0:1,r="";return"vimeo"==e?(r="api="+t+"&title="+a+"&byline="+a+"&portrait="+a+"&autoplay="+n,i.color&&(r+="&color="+i.color)):"youtube"==e&&(r="enablejsapi="+t+"&autoplay="+n+"&autohide="+s+"&hq="+o+"&modestbranding=1",i.color&&(r+="&color="+i.color)),r}},debug:function(e,t){i.debug&&(t!==o?console.info(i.moduleName+": "+e,t):console.info(i.moduleName+": "+e))},error:function(e){console.warn(i.moduleName+": "+e)},invoke:function(t,n,a){var r;return a=a||Array.prototype.slice.call(arguments,2),"string"==typeof t&&d!==o&&(t=t.split("."),e.each(t,function(t,n){return e.isPlainObject(d[n])?(d=d[n],!0):e.isFunction(d[n])?(r=d[n],!0):(s.error(i.errors.method),!1)})),e.isFunction(r)?r.apply(n,a):r}},f?n=s.invoke(a[0],this,Array.prototype.slice.call(a,1)):(d&&s.destroy(),s.initialize())}),n!==o?n:this},e.fn.videoPlaylist=function(t,n){var o=e(this),i=e(t),a=i.find(".embed iframe"),s=e.extend({},e.fn.videoPlaylist.settings,n,!0);o.each(function(){var t=e(this),n=s.metadata,a=s.namespace,r=s.className,l={initialize:function(){t.on("click."+a,l.changeVideo)},changeVideo:function(){var a=t.data(n.flv)||!1,l=t.data(n.source)||!1,c=t.data(n.placeholder)||!1;if(a&&l){if(i.data(n.source,l).data(n.flv,a),s.showPlaceholder)i.removeClass(r.active).find(e.fn.video.selector.placeholder).attr("src",c);else try{i.video("play")}catch(u){console.warn("Video Playlist Module: "+s.error.init)}o.removeClass(r.active),t.addClass(r.active)}}};l.initialize()}),s.playFirst&&(o.eq(0).trigger("click"),a.size()>0&&a.attr("src",a.attr("src").replace("autoplay=1","autoplay=0")))},e.fn.video.settings={moduleName:"Video",namespace:"video",debug:!1,metadata:{source:"source",flv:"flv"},onPlay:function(){},onReset:function(){},onChange:function(){},play:function(){},pause:function(){},stop:function(){},width:"auto",height:"auto",autoplay:!1,color:"#442359",hd:!0,showUI:!1,api:!0,errors:{method:"The method you called is not defined"},className:{active:"active"},selector:{embed:".embed",placeholder:".placeholder",playButton:".play"}},e.fn.videoPlaylist.settings={moduleName:"Video Playlist",namespace:"videoPlaylist",source:"vimeo",showPlaceholder:!1,playFirst:!0,metadata:{flv:"flv",source:"source",placeholder:"placeholder"},errors:{init:"The video player you specified was not yet initialized"},className:{active:"active"}}})(jQuery,window,document); \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/views/activity-feed.min.css b/node/src/files/components/semantic/minified/views/activity-feed.min.css deleted file mode 100644 index b2e0d3a5b..000000000 --- a/node/src/files/components/semantic/minified/views/activity-feed.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.feed .event{overflow:hidden;border-top:1px solid #D9D9D9;padding:11px 9px}.ui.feed .event:first-child{border-top:0}.ui.feed .event .who{float:left;width:35px;height:35px;background:#efefef url(../images/placeholder-tiny.png) no-repeat center center;-webkit-box-shadow:-1px -1px 0 #f0f0f0 inset;-moz-box-shadow:-1px -1px 0 #f0f0f0 inset;box-shadow:-1px -1px 0 #f0f0f0 inset}.ui.feed .event .who img{display:block;width:35px}.ui.feed .event .what{margin-left:50px;font-size:12px;line-height:1.33;color:#555}.ui.feed .event .what p{margin:0;padding:0}.ui.feed .event .what a{font-weight:700}.ui.feed .event .what img{max-width:100%}.ui.feed .event .what blockquote{display:block;overflow:hidden;margin:8px 0;background-color:#F6FAFC;border:1px solid #E8F2F7;line-height:1.6;padding:6px 9px;color:#666;text-shadow:0 1px 0 rgba(255,255,255,.8)}.ui.feed .event .what blockquote.grey{background-color:#FAFAFA;border:1px solid #EAEAEA;font-weight:700}.ui.feed .event blockquote img{float:left;width:75px;margin-right:20px}.ui.feed .event .what blockquote p{margin:0 0 10px}.ui.feed .event .what .attached{overflow:hidden;margin:8px 0 0}.ui.feed .event .what .attached img{float:left;margin:0 5px 0 0}.ui.feed .event .what .attached a img{border:1px solid #B2B2B2}.ui.feed .event .what .attached a:hover img{border:1px solid #999}.ui.feed .event .when{float:right;font-size:11px;text-align:right;color:#A1A1A1}.ui.large.feed .who{width:auto;height:auto}.ui.large.feed .who img{width:auto}.ui.large.feed .what{margin-left:70px;font-size:14px;line-height:1.33}.ui.large.feed .what blockquote{color:#555}.ui.large.feed .what img{display:block;width:auto}.ui.large.feed .when{font-size:12px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/views/cover.min.css b/node/src/files/components/semantic/minified/views/cover.min.css deleted file mode 100644 index a86d0cddd..000000000 --- a/node/src/files/components/semantic/minified/views/cover.min.css +++ /dev/null @@ -1 +0,0 @@ -ul.ui.cover-view li,div.ui.cover-view{position:relative;width:220px;height:290px;background-color:#111;background:transparent -webkit-linear-gradient(top,rgba(110,110,110,.7) 0,rgba(0,0,0,.7) 100%) repeat;background:transparent -moz-linear-gradient(top,rgba(110,110,110,.7) 0,rgba(0,0,0,.7) 100%) repeat;background:transparent -o-linear-gradient(top,rgba(110,110,110,.7) 0,rgba(0,0,0,.7) 100%) repeat;background:transparent -ms-linear-gradient(top,rgba(110,110,110,.7) 0,rgba(0,0,0,.7) 100%) repeat;background:transparent linear-gradient(top,rgba(110,110,110,.7) 0,rgba(0,0,0,.7) 100%) repeat;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;-webkit-box-shadow:0 1px 5px 0 rgba(0,0,0,.3),0 1px 0 0 rgba(255,255,255,.3) inset;-moz-box-shadow:0 1px 5px 0 rgba(0,0,0,.3),0 1px 0 0 rgba(255,255,255,.3) inset;box-shadow:0 1px 5px 0 rgba(0,0,0,.3),0 1px 0 0 rgba(255,255,255,.3) inset}ul.ui.cover-view li .content,.ui.cover-view .content{position:relative;overflow:hidden;width:100%;height:100%}ul.ui.cover-view li .cover,.ui.cover-view .cover{width:100%;height:100%;background-position:center center;-webkit-background-size:cover;-moz-background-size:cover;background-size:cover;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;opacity:1}ul.ui.cover-view li .text,.ui.cover-view .text{position:absolute;bottom:0;left:0;width:100%;padding:15px;line-height:1.44;background-color:#111;background:transparent -webkit-linear-gradient(top,rgba(40,40,40,.8) 0,rgba(0,0,0,.8) 100%) repeat;background:transparent -moz-linear-gradient(top,rgba(40,40,40,.8) 0,rgba(0,0,0,.8) 100%) repeat;background:transparent -o-linear-gradient(top,rgba(40,40,40,.8) 0,rgba(0,0,0,.8) 100%) repeat;background:transparent -ms-linear-gradient(top,rgba(40,40,40,.8) 0,rgba(0,0,0,.8) 100%) repeat;background:transparent linear-gradient(top,rgba(40,40,40,.8) 0,rgba(0,0,0,.8) 100%) repeat;-webkit-border-radius:0 0 9px 9px;-moz-border-radius:0 0 9px 9px;border-radius:0 0 9px 9px;-moz-box-shadow:0 1px 0 0 rgba(255,255,255,.3) inset,0 -1px 4px rgba(0,0,0,.4);-webkit-box-shadow:0 1px 0 0 rgba(255,255,255,.3) inset,0 -1px 4px rgba(0,0,0,.4);box-shadow:0 1px 0 0 rgba(255,255,255,.3) inset,0 -1px 4px rgba(0,0,0,.4);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;opacity:1}ul.ui.cover-view li .text h2,.ui.cover-view .text h2{font-size:18px;font-weight:700;color:#009FDA;margin:0 0 5px;text-shadow:0 2px 2px rgba(0,0,0,.9)}ul.ui.cover-view li .text h3,.ui.cover-view .text h3{color:#FFF;text-shadow:0 2px 2px rgba(0,0,0,.9)}ul.ui.cover-view li>.throbber,div.ui.cover-view>.throbber{display:none}ul.ui.cover-view li.loading>.throbber,div.ui.cover-view.loading>.throbber{display:block;opacity:.3}ul.ui.cover-view li.loading .text,div.ui.cover-view.loading .text,ul.ui.cover-view li.loading .cover,div.ui.cover-view.loading .cover{opacity:0}ul.ui.cover-view li{float:left;margin:0 5px 10px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/views/data-grid.min.css b/node/src/files/components/semantic/minified/views/data-grid.min.css deleted file mode 100644 index 9cca613d5..000000000 --- a/node/src/files/components/semantic/minified/views/data-grid.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.data-grid{width:100%;font-size:12px;color:#555}.ui.data-grid.hide{display:none}.ui.data-grid tbody tr{border-top:1px solid #D9D9D9}.ui.data-grid tbody tr:first-child{border-top:0}.ui.data-grid tbody td{padding:10px 14px;vertical-align:middle}.ui.data-grid tbody td.who{width:240px}.ui.data-grid tbody td.who i{float:left;width:35px;height:35px;background:#efefef url(../images/placeholder-tiny.png) no-repeat center center}.ui.data-grid tbody td.who img{width:35px}.ui.data-grid tbody td.who hgroup{display:block;margin-left:50px}.ui.data-grid tbody td.who hgroup h2{font-size:14px;font-weight:700}.ui.data-grid tbody td.who hgroup h3{font-size:12px}.ui.data-grid tbody td.action{width:120px;text-align:right}.ui.data-grid tbody tr.hover{background-color:#F4F4F4} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/views/notecard.min.css b/node/src/files/components/semantic/minified/views/notecard.min.css deleted file mode 100644 index 87f0a4d76..000000000 --- a/node/src/files/components/semantic/minified/views/notecard.min.css +++ /dev/null @@ -1 +0,0 @@ -.ui.notecard{position:relative;width:520px;padding:10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;background-color:#FDFBE9;border:1px solid #DDD;-webkit-box-shadow:0 2px 2px rgba(0,0,0,.1);-moz-box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 2px 2px rgba(0,0,0,.1)}.ui.notecard .stripes{height:100%;margin-top:10px;padding:0 5px 10px;background:url(../images/notecard-stripes.png) repeat;line-height:21px}.ui.notecard .stripes h2{margin:0;font-size:20px;font-weight:700}.ui.notecard .stripes p{margin:0;padding:0;font-size:12px}.ui.notecard .stripes .image{display:block;overflow:hidden;border:1px solid #DAD8C9;background:#fff url(../images/placeholder-tiny.png) no-repeat center center;padding:4px}.ui.notecard .stripes .image img{display:block}.ui.notecard br,.ui.notecard hr{height:21px;border:0;background-color:transparent}.ui.notecard.simple .stripes{margin-top:10px;background-image:-moz-repeating-linear-gradient(transparent 19px,rgba(255,255,255,.2) 20px,transparent 0,transparent 40px);background-image:-webkit-repeating-linear-gradient(transparent 19px,rgba(255,255,255,.2) 20px,transparent 0,transparent 40px);background-image:-ms-repeating-linear-gradient(transparent 19px,rgba(255,255,255,.2) 20px,transparent 0,transparent 40px);background-image:-o-repeating-linear-gradient(transparent 19px,rgba(255,255,255,.2) 20px,transparent 0,transparent 40px);background-image:repeating-linear-gradient(transparent 19px,rgba(255,255,255,.2) 20px,transparent 0,transparent 40px)}.ui.notecard.contrast{border:0;-webkit-box-shadow:0 2px 2px rgba(0,0,0,.7);-moz-box-shadow:0 2px 2px rgba(0,0,0,.7);box-shadow:0 2px 2px rgba(0,0,0,.7)}.ui.clipped.notecard.paperclip img{height:auto;width:135px}.ui.clipped.notecard.stripes{min-height:150px;padding:0 5px 10px 160px} \ No newline at end of file diff --git a/node/src/files/components/semantic/minified/views/video.min.css b/node/src/files/components/semantic/minified/views/video.min.css deleted file mode 100644 index fe5eb2c50..000000000 --- a/node/src/files/components/semantic/minified/views/video.min.css +++ /dev/null @@ -1 +0,0 @@ -.video.module{position:relative;background:#333 url(/images/icon-placeholder-logo.png) no-repeat center center}.video.module .play{cursor:pointer;position:absolute;top:0;left:0;z-index:100;-ms-filter:"alpha(Opacity=60)";filter:alpha(opacity=60);opacity:.6;width:100%;height:100%;background:url(/images/icon-play.png) no-repeat center center;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-o-transition:opacity .3s;-ms-transition:opacity .3s;transition:opacity .3s}.video.module .play:hover{opacity:1}.video.module .placeholder{width:100%;height:100%}.video.module .embed{display:none}.video.module.active .play,.video.module.active .placeholder{display:none}.video.module.active .embed{display:block} \ No newline at end of file diff --git a/node/src/files/components/semantic/uncompressed/modules/accordion.css b/node/src/files/components/semantic/modules/accordion.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/modules/accordion.css rename to node/src/files/components/semantic/modules/accordion.css diff --git a/node/src/files/components/semantic/minified/modules/accordion.js b/node/src/files/components/semantic/modules/accordion.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/accordion.js rename to node/src/files/components/semantic/modules/accordion.js diff --git a/node/src/files/components/semantic/minified/modules/behavior/animation.js b/node/src/files/components/semantic/modules/behavior/animation.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/behavior/animation.js rename to node/src/files/components/semantic/modules/behavior/animation.js diff --git a/node/src/files/components/semantic/minified/modules/behavior/api.js b/node/src/files/components/semantic/modules/behavior/api.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/behavior/api.js rename to node/src/files/components/semantic/modules/behavior/api.js diff --git a/node/src/files/components/semantic/minified/modules/behavior/colorize.js b/node/src/files/components/semantic/modules/behavior/colorize.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/behavior/colorize.js rename to node/src/files/components/semantic/modules/behavior/colorize.js diff --git a/node/src/files/components/semantic/minified/modules/behavior/default-text.js b/node/src/files/components/semantic/modules/behavior/default-text.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/behavior/default-text.js rename to node/src/files/components/semantic/modules/behavior/default-text.js diff --git a/node/src/files/components/semantic/minified/modules/behavior/form.js b/node/src/files/components/semantic/modules/behavior/form.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/behavior/form.js rename to node/src/files/components/semantic/modules/behavior/form.js diff --git a/node/src/files/components/semantic/minified/modules/behavior/state.js b/node/src/files/components/semantic/modules/behavior/state.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/behavior/state.js rename to node/src/files/components/semantic/modules/behavior/state.js diff --git a/node/src/files/components/semantic/uncompressed/modules/chat.css b/node/src/files/components/semantic/modules/chat.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/modules/chat.css rename to node/src/files/components/semantic/modules/chat.css diff --git a/node/src/files/components/semantic/minified/modules/chat.js b/node/src/files/components/semantic/modules/chat.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/chat.js rename to node/src/files/components/semantic/modules/chat.js diff --git a/node/src/files/components/semantic/uncompressed/modules/checkbox.css b/node/src/files/components/semantic/modules/checkbox.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/modules/checkbox.css rename to node/src/files/components/semantic/modules/checkbox.css diff --git a/node/src/files/components/semantic/minified/modules/checkbox.js b/node/src/files/components/semantic/modules/checkbox.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/checkbox.js rename to node/src/files/components/semantic/modules/checkbox.js diff --git a/node/src/files/components/semantic/uncompressed/modules/modal.css b/node/src/files/components/semantic/modules/modal.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/modules/modal.css rename to node/src/files/components/semantic/modules/modal.css diff --git a/node/src/files/components/semantic/minified/modules/modal.js b/node/src/files/components/semantic/modules/modal.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/modal.js rename to node/src/files/components/semantic/modules/modal.js diff --git a/node/src/files/components/semantic/uncompressed/modules/nag.css b/node/src/files/components/semantic/modules/nag.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/modules/nag.css rename to node/src/files/components/semantic/modules/nag.css diff --git a/node/src/files/components/semantic/minified/modules/nag.js b/node/src/files/components/semantic/modules/nag.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/nag.js rename to node/src/files/components/semantic/modules/nag.js diff --git a/node/src/files/components/semantic/uncompressed/modules/popup.css b/node/src/files/components/semantic/modules/popup.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/modules/popup.css rename to node/src/files/components/semantic/modules/popup.css diff --git a/node/src/files/components/semantic/minified/modules/popup.js b/node/src/files/components/semantic/modules/popup.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/popup.js rename to node/src/files/components/semantic/modules/popup.js diff --git a/node/src/files/components/semantic/uncompressed/modules/search.css b/node/src/files/components/semantic/modules/search.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/modules/search.css rename to node/src/files/components/semantic/modules/search.css diff --git a/node/src/files/components/semantic/minified/modules/search.js b/node/src/files/components/semantic/modules/search.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/search.js rename to node/src/files/components/semantic/modules/search.js diff --git a/node/src/files/components/semantic/uncompressed/modules/shape.css b/node/src/files/components/semantic/modules/shape.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/modules/shape.css rename to node/src/files/components/semantic/modules/shape.css diff --git a/node/src/files/components/semantic/minified/modules/shape.js b/node/src/files/components/semantic/modules/shape.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/shape.js rename to node/src/files/components/semantic/modules/shape.js diff --git a/node/src/files/components/semantic/uncompressed/modules/star.css b/node/src/files/components/semantic/modules/star.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/modules/star.css rename to node/src/files/components/semantic/modules/star.css diff --git a/node/src/files/components/semantic/minified/modules/star.js b/node/src/files/components/semantic/modules/star.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/star.js rename to node/src/files/components/semantic/modules/star.js diff --git a/node/src/files/components/semantic/uncompressed/modules/tab.css b/node/src/files/components/semantic/modules/tab.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/modules/tab.css rename to node/src/files/components/semantic/modules/tab.css diff --git a/node/src/files/components/semantic/minified/modules/tab.js b/node/src/files/components/semantic/modules/tab.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/tab.js rename to node/src/files/components/semantic/modules/tab.js diff --git a/node/src/files/components/semantic/uncompressed/modules/video.css b/node/src/files/components/semantic/modules/video.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/modules/video.css rename to node/src/files/components/semantic/modules/video.css diff --git a/node/src/files/components/semantic/minified/modules/video.js b/node/src/files/components/semantic/modules/video.js similarity index 100% rename from node/src/files/components/semantic/minified/modules/video.js rename to node/src/files/components/semantic/modules/video.js diff --git a/node/src/files/components/semantic/packaged/fonts/icons.eot.REMOVED.git-id b/node/src/files/components/semantic/packaged/fonts/icons.eot.REMOVED.git-id deleted file mode 100644 index 2776fbe5d..000000000 --- a/node/src/files/components/semantic/packaged/fonts/icons.eot.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -25066de069a62374b39f220581d1314fa60a5f45 \ No newline at end of file diff --git a/node/src/files/components/semantic/packaged/fonts/icons.svg.REMOVED.git-id b/node/src/files/components/semantic/packaged/fonts/icons.svg.REMOVED.git-id deleted file mode 100644 index fbf9c2439..000000000 --- a/node/src/files/components/semantic/packaged/fonts/icons.svg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -b9c54d022b2628b920f09afd4cb10d4dc0ce0d17 \ No newline at end of file diff --git a/node/src/files/components/semantic/packaged/fonts/icons.ttf.REMOVED.git-id b/node/src/files/components/semantic/packaged/fonts/icons.ttf.REMOVED.git-id deleted file mode 100644 index f8d220df0..000000000 --- a/node/src/files/components/semantic/packaged/fonts/icons.ttf.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -318a2643d3af55fe51b472e7769b99caf74ff7b0 \ No newline at end of file diff --git a/node/src/files/components/semantic/packaged/fonts/icons.woff b/node/src/files/components/semantic/packaged/fonts/icons.woff deleted file mode 100644 index baba1b5eb..000000000 Binary files a/node/src/files/components/semantic/packaged/fonts/icons.woff and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/button-error.gif b/node/src/files/components/semantic/packaged/images/button-error.gif deleted file mode 100644 index 0615c1626..000000000 Binary files a/node/src/files/components/semantic/packaged/images/button-error.gif and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/footnote.png b/node/src/files/components/semantic/packaged/images/footnote.png deleted file mode 100644 index c13a1f233..000000000 Binary files a/node/src/files/components/semantic/packaged/images/footnote.png and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/loader-generic-transparent.gif b/node/src/files/components/semantic/packaged/images/loader-generic-transparent.gif deleted file mode 100644 index 74c9d63f3..000000000 Binary files a/node/src/files/components/semantic/packaged/images/loader-generic-transparent.gif and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/notecard-stripes.png b/node/src/files/components/semantic/packaged/images/notecard-stripes.png deleted file mode 100644 index 57b1c37a7..000000000 Binary files a/node/src/files/components/semantic/packaged/images/notecard-stripes.png and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/paperclip.png b/node/src/files/components/semantic/packaged/images/paperclip.png deleted file mode 100644 index 82edf737d..000000000 Binary files a/node/src/files/components/semantic/packaged/images/paperclip.png and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/placeholder-subtle.png b/node/src/files/components/semantic/packaged/images/placeholder-subtle.png deleted file mode 100644 index a69787855..000000000 Binary files a/node/src/files/components/semantic/packaged/images/placeholder-subtle.png and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/placeholder-tiny.png b/node/src/files/components/semantic/packaged/images/placeholder-tiny.png deleted file mode 100644 index e936460e6..000000000 Binary files a/node/src/files/components/semantic/packaged/images/placeholder-tiny.png and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/placeholder.png b/node/src/files/components/semantic/packaged/images/placeholder.png deleted file mode 100644 index b635fa2ce..000000000 Binary files a/node/src/files/components/semantic/packaged/images/placeholder.png and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/throbber-blue-large.gif b/node/src/files/components/semantic/packaged/images/throbber-blue-large.gif deleted file mode 100644 index d0ac895ea..000000000 Binary files a/node/src/files/components/semantic/packaged/images/throbber-blue-large.gif and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/throbber-blue-medium.gif b/node/src/files/components/semantic/packaged/images/throbber-blue-medium.gif deleted file mode 100644 index 89dfc9137..000000000 Binary files a/node/src/files/components/semantic/packaged/images/throbber-blue-medium.gif and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/throbber-blue-small.gif b/node/src/files/components/semantic/packaged/images/throbber-blue-small.gif deleted file mode 100644 index 5ebe9a217..000000000 Binary files a/node/src/files/components/semantic/packaged/images/throbber-blue-small.gif and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/throbber-blue-tiny.gif b/node/src/files/components/semantic/packaged/images/throbber-blue-tiny.gif deleted file mode 100644 index 43475d481..000000000 Binary files a/node/src/files/components/semantic/packaged/images/throbber-blue-tiny.gif and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/throbber-large.gif b/node/src/files/components/semantic/packaged/images/throbber-large.gif deleted file mode 100644 index 519621ccd..000000000 Binary files a/node/src/files/components/semantic/packaged/images/throbber-large.gif and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/throbber-medium-white.gif b/node/src/files/components/semantic/packaged/images/throbber-medium-white.gif deleted file mode 100644 index 010e29eae..000000000 Binary files a/node/src/files/components/semantic/packaged/images/throbber-medium-white.gif and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/throbber-medium.gif b/node/src/files/components/semantic/packaged/images/throbber-medium.gif deleted file mode 100644 index ae34460f9..000000000 Binary files a/node/src/files/components/semantic/packaged/images/throbber-medium.gif and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/throbber-small.gif b/node/src/files/components/semantic/packaged/images/throbber-small.gif deleted file mode 100644 index d9a6760a4..000000000 Binary files a/node/src/files/components/semantic/packaged/images/throbber-small.gif and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/images/throbber-tiny.gif b/node/src/files/components/semantic/packaged/images/throbber-tiny.gif deleted file mode 100644 index c65ee55fd..000000000 Binary files a/node/src/files/components/semantic/packaged/images/throbber-tiny.gif and /dev/null differ diff --git a/node/src/files/components/semantic/packaged/modules/accordion.js b/node/src/files/components/semantic/packaged/modules/accordion.js deleted file mode 100644 index 0003c3012..000000000 --- a/node/src/files/components/semantic/packaged/modules/accordion.js +++ /dev/null @@ -1,196 +0,0 @@ -/* ****************************** - Accordion - Author: Jack Lukic - Notes: First Commit July 19, 2012 - - Simple accordion design -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.accordion = function(parameters) { - var - settings = $.extend(true, {}, $.fn.accordion.settings, parameters), - // hoist arguments - moduleArguments = arguments || false - ; - $(this) - .each(function() { - - var - $module = $(this), - $title = $module.find(settings.selector.title), - $icon = $module.find(settings.selector.icon), - $content = $module.find(settings.selector.content), - - instance = $module.data('module'), - className = settings.className, - module - ; - - module = { - - initialize: function() { - // initializing - $title - .on('click', module.change) - ; - $module - .data('module', module) - ; - }, - - change: function() { - var - $activeTitle = $(this), - $activeContent = $activeTitle.next($content), - contentIsOpen = $activeTitle.hasClass(className.active) - ; - if(contentIsOpen) { - if(settings.collapsible) { - $.proxy(module.close, $activeTitle)(); - } - } - else { - $.proxy(module.open, $activeTitle)(); - } - }, - - open: function() { - var - $activeTitle = $(this), - $activeContent = $activeTitle.next($content), - $currentTitle = $title.filter('.' + className.active), - $currentContent = $currentTitle.next($title) - ; - if(settings.exclusive && $currentTitle.size() > 0) { - - $currentTitle - .removeClass('active') - ; - $currentContent - .stop() - .slideUp(settings.speed , settings.easing, function() { - $(this) - .removeClass('active') - .removeAttr('style') - ; - }) - ; - } - $activeTitle - .addClass(className.active) - ; - $activeContent - .hide() - .addClass(className.active) - .stop() - .slideDown(settings.speed, settings.easing, function() { - $(this) - .removeAttr('style') - ; - }) - ; - }, - - close: function() { - var - $activeTitle = $(this), - $activeContent = $activeTitle.next($content) - ; - $activeTitle - .removeClass(className.active) - ; - $activeContent - .removeClass(className.active) - .show() - .stop() - .slideUp(settings.speed, settings.easing, function(){ - $(this) - .removeAttr('style') - ; - }) - ; - }, - - debug: function(message) { - if(settings.debug) { - console.info(settings.moduleName + ': ' + message); - } - }, - error: function(errorMessage) { - console.warn(settings.moduleName + ': ' + errorMessage); - }, - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( method ) ) { - return method.apply(context, methodArguments); - } - // return retrieved variable or chain - return method; - } - - }; - - // calling a method - if(instance !== undefined && moduleArguments) { - // simpler than invoke realizing to invoke itself (and losing scope due prototype.call() - if(moduleArguments[0] == 'invoke') { - moduleArguments = Array.prototype.slice.call( moduleArguments, 1 ); - } - return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // initializing - module.initialize(); - - }) - ; - return this; - }; - - $.fn.accordion.settings = { - moduleName : 'Accordion', - debug : false, - - exclusive : true, - collapsible : true, - - errors: { - method : 'The method you called is not defined' - }, - - className : { - active : 'active', - hover : 'hover' - }, - - selector : { - title : '.title', - icon : '.icon', - content : '.content' - }, - - speed : 500, - easing : 'easeInOutQuint' - - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/packaged/modules/behavior/animation.js b/node/src/files/components/semantic/packaged/modules/behavior/animation.js deleted file mode 100644 index 54c22e32f..000000000 --- a/node/src/files/components/semantic/packaged/modules/behavior/animation.js +++ /dev/null @@ -1,247 +0,0 @@ -/* ****************************** - Animation - Author: Jack Lukic - Notes: First Commit May 24, 2012 - - A collection of FX/Animations - -****************************** */ - -;(function ( $, window, document, undefined ) { - - - // handles simplification of animation settings - $.animationSettings = function(settings, duration, easing, complete) { - // no parameters - if(duration === undefined) { - settings = settings; - } - // duration is actually settings object - else if(typeof duration == 'object') { - settings = $.extend({} , settings, duration); - } - // easing is actually complete callback - else if(typeof easing == 'function') { - settings = $.extend({} , settings, { - duration: duration, - complete: easing - }); - } - // easing is actually settings - else if(typeof easing == 'object') { - settings = $.extend(true, {} , settings, {duration: duration}, easing); - } - // - else { - settings = $.extend({} , settings, { - duration : duration, - easing : easing, - complete : complete - }); - } - return settings; - }; - - /* ****************************** - Pop In - - Animates one at a time - scaling in - ****************************** */ - - $.fn.popIn = function(duration, easing, complete) { - var - settings = $.animationSettings($.fn.popIn.settings, duration, easing, complete), - - $this = $(this), - totalElements = $this.size(), - currentElement = 0, - callback = function() { - var - elementsDoneAnimating = ($this.filter(':animated').size() == 0) - ; - currentElement++; - $(this) - .css('transform', '') - .removeClass(settings.className.init) - ; - $.proxy(settings.eachComplete, this)(); - if(currentElement == totalElements) { - $.proxy(settings.complete, $this)(); - } - }, - animate = function(index) { - $(this) - .delay(settings.delay * index) - .animate({ - opacity : settings.endOpacity, - transform : 'scale('+ settings.endScale +')' - }, settings.duration, settings.easing, callback) - ; - } - ; - if(settings.isLegacyBrowser) { - $this - .show() - ; - } - else { - $this - .addClass(settings.className.init) - .show() - .css({ - opacity : settings.startOpacity, - transform : 'scale('+ settings.startScale +')' - }) - .each(animate) - ; - } - return $(this); - }; - - $.fn.popOut = function(duration, easing, complete) { - var - parameters = $.animationSettings($.fn.popIn.settings, duration, easing, complete), - // flip some defaults - defaults = { - complete: function() { - $(this).hide(); - $.proxy(parameters.complete, this)(); - }, - startOpacity : parameters.endOpacity, - endOpacity : 0, - startScale : parameters.endScale, - endScale : parameters.startScale - }, - settings = $.extend(true, {}, parameters, defaults) - ; - $(this) - .popIn(settings) - ; - }; - - $.fn.popIn.settings = { - - // legacy browser - isLegacyBrowser: false, - - // class given until animation ends - className: { - init : 'init' - }, - // duration of each animation - duration : 450, - // easing for animation - easing : 'easeOutExpo', - // delay before each - delay : 100, - - startOpacity : 0, - endOpacity : 1, - - startScale : 0.7, - endScale : 1, - // called after each element completes - eachComplete : function(){}, - // called after entire chain of animation completes - complete : function(){} - }; - - - $.fn.kenBurns = function(duration, easing, complete) { - var - settings = $.animationSettings($.fn.kenBurns.settings, duration, easing, complete), - module = { - - randomPosition: function(starting, rangeMin, rangeMax) { - var - rangeMax = (rangeMax !== undefined) - ? rangeMax - : rangeMin, - number = Math.random() * ((starting + rangeMax) - (starting - rangeMin) ) + (starting - rangeMin) - ; - return parseInt(number, 10); - }, - - animate: function() { - var - startingPosition = {}, - endingPosition = {}, - startingScale, - endingScale - ; - - startingPosition = (settings.useStartPosition) - ? { - x: parseInt( $(this).css('background-position-x'), 10), - y: parseInt( $(this).css('background-position-y'), 10) - } - : { - x: module.randomPosition(50, settings.xRange), - y: module.randomPosition(50, settings.yRange) - } - ; - // determine direction of animation based on origin position - endingPosition.x = (startingPosition.x > 50) - ? module.randomPosition(startingPosition.x, settings.xMaxTravelDistance, -settings.xMinTravelDistance) - : module.randomPosition(startingPosition.x, -settings.xMinTravelDistance, settings.xMaxTravelDistance) - ; - endingPosition.y = (startingPosition.y > 50) - ? module.randomPosition(startingPosition.y, settings.yMaxTravelDistance, -settings.yMinTravelDistance) - : module.randomPosition(startingPosition.y, -settings.yMinTravelDistance, settings.yMaxTravelDistance) - ; - - /*console.log(startingPosition.x + '% ' + startingPosition.y + '%'); - console.log(endingPosition.x + '% ' + endingPosition.y + '%');*/ - - $(this) - .css({ - backgroundPosition: startingPosition.x + '%', - backgroundPositionY: startingPosition.y + '%' - }) - .stop() - .animate({ - backgroundPosition: endingPosition.x + '%', - backgroundPositionY: endingPosition.y + '%' - }, settings.duration, settings.easing, settings.complete) - ; - } - - } - ; - if(!settings.isLegacyBrowser) { - $(this) - .each(module.animate) - ; - } - return $(this); - }; - - $.fn.kenBurns.settings = { - - // legacy browser - isLegacyBrowser : false, - - // duration of animation - duration : 10000, - // easing for animation - easing : 'linear', - useStartPosition : false, - - xRange : 40, - yRange : 20, - - xMinTravelDistance : 30, - xMaxTravelDistance : 60, - - yMinTravelDistance : 20, - yMaxTravelDistance : 40, - - // not yet implemented, need css hook for background-size - scale : 0.1, - - // called after entire chain of animation completes - complete : function(){} - }; - - -})( jQuery, window , document ); \ No newline at end of file diff --git a/node/src/files/components/semantic/packaged/modules/behavior/api.js b/node/src/files/components/semantic/packaged/modules/behavior/api.js deleted file mode 100644 index 3f5b0ab14..000000000 --- a/node/src/files/components/semantic/packaged/modules/behavior/api.js +++ /dev/null @@ -1,515 +0,0 @@ - /* ****************************** - API - Author: Jack Lukic - Notes: First Commit May 08, 2012 - - These are modules which bind API functionality to the DOM - - Requires: nada - - Initialization: - $('.button') - .apiButton({ - success: function() {} - }) - ; - - in our example api is automapped to an object literal - @ quirky.config.endpoint.api - - HTML: -
- - URL : quirky.config.endpoint.api.follow - Given Value: /follow/{$id}/ - Sent Value : /follow/5/ - - (4 ways to map api endpoint, each will be looked for in succession) - url mapping order: - first : defined in plugin init as url (arbitrary url) - second : defined in plugin init as action (action in obj literal grouping 'api') - third : defined in data-url - fourth : defined in data-action - - beforeSend: - this callback can be used to modify request settings before XHR - it also can be used to look for for pre-conditions to prevent API - call by returning "false" - -****************************** */ - -;(function ( $, window, document, undefined ) { - - $.api = $.fn.api = function(parameters) { - - var - settings = $.extend(true, {}, $.api.settings, parameters), - - // if this keyword isn't a jQuery object, create one - context = (typeof this != 'function') - ? this - : $('
'), - // context defines the element used for loading/error state - $context = (settings.stateContext) - ? $(settings.stateContext) - : $(context), - // module is the thing that initiates the api action, can be independent of context - $module = typeof this == 'object' - ? $(context) - : $context, - - action = $module.data(settings.metadata.action) || settings.action || false, - - className = settings.className, - metadata = settings.metadata, - errors = settings.errors, - module - ; - - module = { - initialize: function() { - var - exitConditions = false, - - runSettings, - - loadingTimer = new Date().getTime(), - loadingDelay, - - promise, - url, - urlVariables, - - formData = {}, - data, - - ajaxSettings = {}, - xhr, - - errors = settings.errors - ; - - // serialize parent form if requested! - if(settings.serializeForm && $(this).toJSON() !== undefined) { - formData = $module - .closest('form') - .toJSON() - ; - $.extend(true, settings.data, formData); - module.debug('Adding form data to API Request', formData); - } - - // let beforesend change settings object - runSettings = $.proxy(settings.beforeSend, $module)(settings); - - // check for exit conditions - if(runSettings !== undefined && !runSettings) { - module.error(errors.beforeSend); - module.reset(); - return; - } - - if(action) { - module.debug('Initializing API Request for: ', action); - if(settings.api[action] !== undefined) { - url = settings.api[action]; - } - else { - module.error(errors.missingAction); - } - } - // override with url if specified - if(settings.url) { - url = settings.url; - module.debug('Using specified url: ', url); - } - - if(!url) { - module.error(errors.missingURL); - module.reset(); - } - - // replace url data in url - urlVariables = url.match(settings.regExpTemplate); - - if(urlVariables) { - module.debug('Looking for URL variables', urlVariables); - $.each(urlVariables, function(index, templateValue){ - var - term = templateValue.substr( 2, templateValue.length - 3), - termValue = ($.isPlainObject(parameters.urlData) && parameters.urlData[term] !== undefined) - ? parameters.urlData[term] - : ($module.data(term) !== undefined) - ? $module.data(term) - : settings.urlData[term] - ; - module.verbose('Looking for variable', term, $module, $module.data(term), settings.urlData[term]); - // remove optional value - if(termValue === false) { - module.debug('Removing variable from URL', urlVariables); - url = url.replace('/' + templateValue, ''); - } - // undefined condition - else if(termValue === undefined || !termValue) { - module.error(errors.missingParameter + term); - exitConditions = true; - } - else { - url = url.replace(templateValue, termValue); - } - }); - } - - // exit conditions reached from missing url parameters - if( exitConditions ) { - module.reset(); - return; - } - - // promise handles notification on api request, so loading min. delay can occur for all notifications - promise = - $.Deferred() - .always(function() { - if(settings.stateContext) { - $context - .removeClass(className.loading) - ; - } - $.proxy(settings.complete, $module)(); - }) - .done(function(response) { - module.debug('API request successful'); - // take a stab at finding success state if json - if(settings.dataType == 'json') { - if(response.success === true) { - $.proxy(settings.success, $context)(response, settings, $module); - } - else { - module.debug('JSON success flag is not set.'); - if (response.error !== undefined) { - $.proxy(settings.failure, $context)(response.error, settings, $module); - } - else if ($.isArray(response.errors)) { - $.proxy(settings.failure, $context)(response.errors[0], settings, $module); - } - else if(response.message !== undefined) { - $.proxy(settings.failure, $context)(response.message, settings, $module); - } - else { - $.proxy(settings.failure, $context)(errors.error, settings, $module); - } - } - } - // otherwise - else { - $.proxy(settings.success, $context)(response, settings, $module); - } - }) - .fail(function(xhr, status, httpMessage) { - var - errorMessage = (settings.errors[status] !== undefined) - ? settings.errors[status] - : httpMessage, - response - ; - // let em know unless request aborted - if(xhr !== undefined) { - // readyState 4 = done, anything less is not really sent - if(xhr.readyState !== undefined && xhr.readyState == 4) { - - // if http status code returned and json returned error, look for it - if( xhr.status != 200 && httpMessage !== undefined && httpMessage !== '') { - module.error(errors.statusMessage + httpMessage); - } - else { - if(status == 'error' && settings.dataType == 'json') { - try { - response = $.parseJSON(xhr.responseText); - if(response && response.error !== undefined) { - errorMessage = response.error; - } - } - catch(error) { - module.error(errors.JSONParse); - } - } - } - $context - .removeClass(className.loading) - .addClass(className.error) - ; - // show error state only for duration specified in settings - if(settings.errorLength > 0) { - setTimeout(function(){ - $context - .removeClass(className.error) - ; - }, settings.errorLength); - } - module.debug('API Request error:', errorMessage); - $.proxy(settings.failure, $context)(errorMessage, settings, this); - } - else { - module.debug('Request Aborted (Most likely caused by page change)'); - } - } - }) - ; - - // look for params in data - $.extend(true, ajaxSettings, settings, { - type : settings.method || settings.type, - data : data, - url : url, - beforeSend : settings.beforeXHR - }); - - if(settings.stateContext) { - $context - .addClass(className.loading) - ; - } - - if(settings.progress) { - module.verbose('Adding progress events'); - $.extend(true, ajaxSettings, { - xhr: function() { - var - xhr = new window.XMLHttpRequest() - ; - xhr.upload.addEventListener('progress', function(event) { - var - percentComplete - ; - if (event.lengthComputable) { - percentComplete = Math.round(event.loaded / event.total * 10000) / 100 + '%'; - $.proxy(settings.progress, $context)(percentComplete, event); - } - }, false); - xhr.addEventListener('progress', function(event) { - var - percentComplete - ; - if (event.lengthComputable) { - percentComplete = Math.round(event.loaded / event.total * 10000) / 100 + '%'; - $.proxy(settings.progress, $context)(percentComplete, event); - } - }, false); - return xhr; - } - }); - } - - module.verbose('Creating AJAX request with settings: ', ajaxSettings); - xhr = - $.ajax(ajaxSettings) - .always(function() { - // calculate if loading time was below minimum threshold - loadingDelay = ( settings.loadingLength - (new Date().getTime() - loadingTimer) ); - settings.loadingDelay = loadingDelay < 0 - ? 0 - : loadingDelay - ; - }) - .done(function(response) { - var - context = this - ; - setTimeout(function(){ - promise.resolveWith(context, [response]); - }, settings.loadingDelay); - }) - .fail(function(xhr, status, httpMessage) { - var - context = this - ; - // page triggers abort on navigation, dont show error - if(status != 'abort') { - setTimeout(function(){ - promise.rejectWith(context, [xhr, status, httpMessage]); - }, settings.loadingDelay); - } - else { - $context - .removeClass(className.error) - .removeClass(className.loading) - ; - } - }) - ; - if(settings.stateContext) { - $module - .data(metadata.promise, promise) - .data(metadata.xhr, xhr) - ; - } - }, - - // reset api request - reset: function() { - $module - .data(metadata.promise, false) - .data(metadata.xhr, false) - ; - $context - .removeClass(className.error) - .removeClass(className.loading) - ; - module.error(errors.exitConditions); - }, - - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - verbose: function() { - if(settings.verbose) { - module.debug.apply(this, arguments); - } - }, - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - error: function() { - var - output = [], - errorMessage = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.warn || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(errorMessage); - output.concat(variables); - log.apply(console, output.concat(variables) ); - } - } - }; - - module.initialize(); - return this; - }; - - // handle DOM attachment to API functionality - $.fn.apiButton = function(parameters) { - $(this) - .each(function(){ - var - // if only function passed it is success callback - $module = $(this), - element = this, - selector = $(this).selector || '', - - settings = ( $.isFunction(parameters) ) - ? $.extend(true, {}, $.api.settings, $.fn.apiButton.settings, { stateContext: this, success: parameters }) - : $.extend(true, {}, $.api.settings, $.fn.apiButton.settings, { stateContext: this}, parameters), - module - ; - module = { - initialize: function() { - if(settings.context && selector !== '') { - $(settings.context) - .on(selector, 'click.' + settings.namespace, module.click) - ; - } - else { - $module - .on('click.' + settings.namespace, module.click) - ; - } - }, - click: function() { - if(!settings.filter || $(this).filter(settings.filter).size() === 0) { - $.proxy( $.api, this )(settings); - } - } - }; - module.initialize(); - }) - ; - return this; - }; - - $.api.settings = { - moduleName : 'API Module', - namespace : 'api', - - verbose : true, - debug : true, - - api : {}, - - beforeSend : function(settings) { - return settings; - }, - beforeXHR : function(xhr) {}, - - success : function(response) {}, - complete : function(response) {}, - failure : function(errorCode) {}, - progress : false, - - errors : { - missingAction : 'API action used but no url was defined', - missingURL : 'URL not specified for the API action', - missingParameter : 'Missing an essential URL parameter: ', - - timeout : 'Your request timed out', - error : 'There was an error with your request', - parseError : 'There was an error parsing your request', - JSONParse : 'JSON could not be parsed during error handling', - statusMessage : 'Server gave an error: ', - beforeSend : 'The before send function has aborted the request', - exitConditions : 'API Request Aborted. Exit conditions met' - }, - - className: { - loading : 'loading', - error : 'error' - }, - - metadata: { - action : 'action', - promise : 'promise', - xhr : 'xhr' - }, - - regExpTemplate: /\{\$([A-z]+)\}/g, - - action : false, - url : false, - urlData : false, - serializeForm : false, - - stateContext : false, - - method : 'get', - data : {}, - dataType : 'json', - cache : true, - - loadingLength : 200, - errorLength : 2000 - - }; - - $.fn.apiButton.settings = { - filter : '.disabled, .loading', - context : false, - stateContext : false - }; - -})( jQuery, window , document ); \ No newline at end of file diff --git a/node/src/files/components/semantic/packaged/modules/behavior/colorize.js b/node/src/files/components/semantic/packaged/modules/behavior/colorize.js deleted file mode 100644 index 245d66815..000000000 --- a/node/src/files/components/semantic/packaged/modules/behavior/colorize.js +++ /dev/null @@ -1,271 +0,0 @@ -/* ****************************** - Colorizer - Author: Jack Lukic - Notes: First Commit June 06, 2012 - - Tooltip Wrapper for loading - colorizes of ideations, concepts and users - - Will eventually rewrite to use own tooltip lib - -****************************** */ - -;(function ( $, window, document, undefined ) { - - $.fn.colorize = function(parameters) { - var - settings = $.extend(true, {}, $.fn.colorize.settings, parameters), - // hoist arguments - moduleArguments = arguments || false - ; - $(this) - .each(function(instanceIndex) { - - var - $module = $(this), - - mainCanvas = $('')[0], - imageCanvas = $('')[0], - overlayCanvas = $('')[0], - - backgroundImage = new Image(), - - // defs - mainContext, - imageContext, - overlayContext, - - image, - imageName, - - width, - height, - - // shortucts - colors = settings.colors, - paths = settings.paths, - namespace = settings.namespace, - errors = settings.errors, - - // boilerplate - instance = $module.data('module-' + namespace), - module - ; - - module = { - - checkPreconditions: function() { - module.debug('Checking pre-conditions'); - - if( !$.isPlainObject(colors) || $.isEmptyObject(colors) ) { - module.error(errors.undefinedColors); - return false; - } - return true; - }, - - async: function(callback) { - if(settings.async) { - setTimeout(callback, 0); - } - else { - callback(); - } - }, - - getMetadata: function() { - module.debug('Grabbing metadata'); - image = $module.data('image') || settings.image || undefined; - imageName = $module.data('name') || settings.name || instanceIndex; - width = settings.width || $module.width(); - height = settings.height || $module.height(); - if(width === 0 || height === 0) { - module.error(errors.undefinedSize); - } - }, - - initialize: function() { - module.debug('Initializing with colors', colors); - if( module.checkPreconditions() ) { - - module.async(function() { - module.getMetadata(); - module.canvas.create(); - - module.draw.image(function() { - module.draw.colors(); - module.canvas.merge(); - }); - $module - .data('module-' + namespace, module) - ; - }); - } - }, - - redraw: function() { - module.debug('Redrawing image'); - module.async(function() { - module.canvas.clear(); - module.draw.colors(); - module.canvas.merge(); - }); - }, - - change: { - color: function(colorName, color) { - module.debug('Changing color', colorName); - if(colors[colorName] === undefined) { - module.error(errors.missingColor); - return false; - } - colors[colorName] = color; - module.redraw(); - } - }, - - canvas: { - create: function() { - module.debug('Creating canvases'); - - mainCanvas.width = width; - mainCanvas.height = height; - imageCanvas.width = width; - imageCanvas.height = height; - overlayCanvas.width = width; - overlayCanvas.height = height; - - mainContext = mainCanvas.getContext('2d'); - imageContext = imageCanvas.getContext('2d'); - overlayContext = overlayCanvas.getContext('2d'); - - $module - .append( mainCanvas ) - ; - mainContext = $module.children('canvas')[0].getContext('2d'); - }, - clear: function(context) { - module.debug('Clearing canvas'); - overlayContext.fillStyle = '#FFFFFF'; - overlayContext.fillRect(0, 0, width, height); - }, - merge: function() { - if( !$.isFunction(mainContext.blendOnto) ) { - module.error(errors.missingPlugin); - return; - } - mainContext.putImageData( imageContext.getImageData(0, 0, width, height), 0, 0); - overlayContext.blendOnto(mainContext, 'multiply'); - } - }, - - draw: { - - image: function(callback) { - module.debug('Drawing image'); - callback = callback || function(){}; - if(image) { - backgroundImage.src = image; - backgroundImage.onload = function() { - imageContext.drawImage(backgroundImage, 0, 0); - callback(); - }; - } - else { - module.error(errors.noImage); - callback(); - } - }, - - colors: function() { - module.debug('Drawing color overlays', colors); - $.each(colors, function(colorName, color) { - settings.onDraw(overlayContext, imageName, colorName, color); - }); - } - - }, - - debug: function(message, variableName) { - if(settings.debug) { - if(variableName !== undefined) { - console.info(settings.moduleName + ': ' + message, variableName); - } - else { - console.info(settings.moduleName + ': ' + message); - } - } - }, - error: function(errorMessage) { - console.warn(settings.moduleName + ': ' + errorMessage); - }, - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - return ( $.isFunction( method ) ) - ? method.apply(context, methodArguments) - : false - ; - } - - }; - if(instance !== undefined && moduleArguments) { - // simpler than invoke realizing to invoke itself (and losing scope due prototype.call() - if(moduleArguments[0] == 'invoke') { - moduleArguments = Array.prototype.slice.call( moduleArguments, 1 ); - } - return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // initializing - module.initialize(); - }) - ; - return this; - }; - - $.fn.colorize.settings = { - moduleName : 'Image Colorizer', - debug : true, - namespace : 'colorize', - - onDraw: function(overlayContext, imageName, colorName, color) {}, - - // whether to block execution while updating canvas - async: true, - // object containing names and default values of color regions - colors: {}, - - metadata: { - image : 'image', - name : 'name' - }, - - errors: { - noImage : 'No tracing image specified', - undefinedColors : 'No default colors specified.', - missingColor : 'Attempted to change color that does not exist', - missingPlugin : 'Blend onto plug-in must be included', - undefinedHeight : 'The width or height of image canvas could not be automatically determined. Please specify a height.' - } - - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/packaged/modules/behavior/default-text.js b/node/src/files/components/semantic/packaged/modules/behavior/default-text.js deleted file mode 100644 index 24d849842..000000000 --- a/node/src/files/components/semantic/packaged/modules/behavior/default-text.js +++ /dev/null @@ -1,104 +0,0 @@ -/* ****************************** - Default Text (Form) - Author: Jack Lukic - Notes: First Commit April 08, 2012 - - Refactored Aug 13, 2012 - - allows you to set a default text value which will be added and removed on form field focus - -****************************** */ -;(function ( $, window, document, undefined ) { - - $.fn.defaultText = function(parameters) { - var - // overload for shorthand to default value - settings = (typeof parameters == 'string') - ? $.extend({}, $.fn.defaultText.settings, { defaultValue: parameters }) - : $.extend(true, {}, $.fn.defaultText.settings, parameters) - ; - // overload function - if(typeof parameters == 'string') { - parameters = { defaultValue: parameters }; - } - $.extend(settings, parameters); - $(this) - .each(function() { - var - $element = $(this), - module = { - - checkDefault: function() { - if($element.val().toLowerCase() != settings.defaultValue.toLowerCase()) { - $element.addClass(settings.filledClass); - } - }, - - placeholder: { - add: function(){ - if( $element.filter(settings.disabledClassList).size() === 0 ) { - if( $element.val() == settings.replaceValue ) { - if(settings.alwaysReplace) { - $element - .removeClass(settings.filledClass) - .val($element.attr('last')) - .removeAttr('last') - ; - } - else { - $element - .removeClass(settings.filledClass) - .val(settings.defaultValue) - ; - } - } - else { - $element - .addClass(settings.filledClass) - ; - } - } - }, - remove: function() { - if( $element.filter(settings.disabledClassList).size() === 0 ) { - if(settings.alwaysReplace) { - $element - .attr('last', $element.val()) - .val(settings.replaceValue) - ; - } - else { - if( $element.val().toLowerCase() == settings.defaultValue.toLowerCase() ) { - $element - .val(settings.replaceValue) - ; - } - } - } - } - } - } - ; - if(settings.defaultValue == 'auto') { - settings.defaultValue = $(this).val(); - } - $element - .on('focus', module.placeholder.remove) - .on('blur', module.placeholder.add) - ; - // check for user value on load - module.checkDefault(); - }) - ; - return this; - }; - - $.fn.defaultText.settings = { - defaultValue : 'auto', - replaceValue : '', - alwaysReplace : false, - disabledClassList : '.readonly, .disabled', - filledClass : 'filled' - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/packaged/modules/behavior/form.js b/node/src/files/components/semantic/packaged/modules/behavior/form.js deleted file mode 100644 index 89fd569ef..000000000 --- a/node/src/files/components/semantic/packaged/modules/behavior/form.js +++ /dev/null @@ -1,408 +0,0 @@ -/* ****************************** - Form Validation Components - Author: Jack Lukic - Notes: First Commit April 08, 2012 - - Refactored Feb 22, 2012 - - Allows you to validate forms based on a form validation object - Form validation objects are bound by either data-validate="" metadata, or form id or name tags - -****************************** */ - -;(function ( $, window, document, undefined ) { - -$.fn.validateForm = function(fields, parameters) { - var - $allModules = $(this), - - settings = $.extend(true, {}, $.fn.validateForm.settings, parameters), - // make arguments available - query = arguments[0], - passedArguments = [].slice.call(arguments, 1), - invokedResponse - ; - $allModules - .each(function() { - var - $module = $(this), - $group = $(this).find(settings.selector.group), - $field = $(this).find(settings.selector.field), - $errorPrompt = $(this).find(settings.selector.prompt), - - formErrors = [], - - selector = $module.selector || '', - element = this, - instance = $module.data('module-' + settings.namespace), - methodInvoked = (typeof query == 'string'), - - namespace = settings.namespace, - metadata = settings.metadata, - className = settings.className, - errors = settings.errors, - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing form validation'); - if(fields !== undefined || !$.isEmptyObject(fields) ) { - // add default text if set - if($.fn.defaultText !== undefined) { - $.each(fields, function(fieldName, field) { - module.field.add.defaultText(field); - }); - } - // attach event handler - $module - .on('submit.' + namespace, module.validate.form) - ; - } - else { - module.error(errors.noFields, $module); - } - }, - - destroy: function() { - $module - .off(namespace) - ; - }, - - field: { - find: function(identifier) { - var - $field = $module.find(settings.selector.field) - ; - if( $field.filter('#' + identifier).size() > 0 ) { - return $field.filter('#' + identifier); - } - else if( $field.filter('[name="' + identifier +'"]').size() > 0 ) { - return $field.filter('[name="' + identifier +'"]'); - } - else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').size() > 0 ) { - return $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]'); - } - return $(''); - }, - add: { - defaultText: function(field) { - var - $field = module.field.find(field.identifier) - ; - if(field.defaultText !== undefined) { - $field.defaultText(field.defaultText); - } - }, - error: function(field, errors) { - var - $field = module.field.find(field.identifier), - $errorGroup = $field.closest($group), - $errorPrompt = $group.find($errorPrompt), - promptExists = ($errorPrompt.size() !== 0) - ; - $errorGroup - .addClass(className.error) - ; - if(settings.inlineError) { - // create message container on first invalid validation attempt - if(!promptExists) { - $errorPrompt = $('
') - .addClass(className.prompt) - .insertBefore($field) - ; - } - // add prompt message - $errorPrompt - .html(errors[0]) - .fadeIn(settings.animateSpeed) - ; - } - } - }, - remove: { - error: function(field) { - var - $field = module.field.find(field.identifier), - $errorGroup = $field.closest($group), - $errorPrompt = $group.find($errorPrompt) - ; - $errorGroup - .removeClass(className.error) - ; - if(settings.inlineError) { - $errorPrompt.hide(); - } - } - } - }, - - validate: { - - form: function(event) { - var - allValid = true - ; - // reset errors - formErrors = []; - $.each(fields, function(fieldName, field){ - // form is invalid after first bad field, but keep checking - if( !( module.validate.field(field) ) ) { - allValid = false; - } - }); - // Evaluate form callbacks - return (allValid) - ? $.proxy(settings.onSuccess, this)(event) - : $.proxy(settings.onFailure, this)(formErrors) - ; - }, - - // takes a validation object and returns whether field passes validation - field: function(field) { - var - $field = module.field.find(field.identifier), - fieldValid = true, - fieldErrors = [] - ; - if(field.rules !== undefined) { - // iterate over all validation types for a certain field - $.each(field.rules, function(index, rule) { - if( !( module.validate.rule(field, rule) ) ) { - module.debug('Field is invalid', field.identifier, rule.type); - fieldErrors.push(rule.prompt); - fieldValid = false; - } - }); - } - if(fieldValid) { - module.field.remove.error(field, fieldErrors); - settings.onValid($field); - } - else { - formErrors = formErrors.concat(fieldErrors); - module.field.add.error(field, fieldErrors); - $.proxy(settings.onInvalid, $field)(fieldErrors); - return false; - } - return true; - }, - - // takes validation rule and returns whether field passes rule - rule: function(field, validation) { - var - $field = module.field.find(field.identifier), - type = validation.type, - defaultText = (field.defaultText !== undefined) - ? field.defaultText - : false, - value = ($field.val() == defaultText) - ? '' - : $field.val(), - - bracketRegExp = /\[(.*?)\]/i, - bracket = bracketRegExp.exec(type), - isValid = true, - ancillary, - functionType - ; - // if bracket notation is used, pass in extra parameters - if(bracket !== undefined && bracket != null) { - ancillary = bracket[1]; - functionType = type.replace(bracket[0], ''); - isValid = $.proxy(settings.rules[functionType], $module)(value, ancillary); - } - // normal notation - else { - isValid = (type == 'checked') - ? $field.filter(':checked').size() > 0 - : settings.rules[type](value) - ; - } - return isValid; - } - }, - - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - verbose: function() { - if(settings.verbose) { - module.debug.apply(this, arguments); - } - }, - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - error: function() { - var - output = [], - errorMessage = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.warn || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(errorMessage); - output.concat(variables); - log.apply(console, output.concat(variables) ); - } - }, - invoke: function(query, context, passedArguments) { - var - maxDepth, - found - ; - passedArguments = passedArguments || [].slice.call( arguments, 2 ); - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found; - } - }; - - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(query, this, passedArguments); - } - // otherwise initialize - else { - module.initialize(); - } - - }) - ; - // chain or return queried method - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.validateForm.settings = { - - // module info - moduleName : 'Validate Form Module', - debug : true, - verbose : false, - namespace : 'validate', - - animateSpeed : 150, - inlineError : false, - - onValid : function() {}, - onInvalid : function() {}, - onSuccess : function() { return true; }, - onFailure : function() { return false; }, - - metadata : { - validate: 'validate' - }, - - // errors - errors: { - method : 'The method you called is not defined.', - noFields : 'No validation object specified.' - }, - - - selector : { - group : '.field', - prompt : '.prompt', - field : 'input, textarea, select' - }, - - className : { - error : 'error', - prompt : 'prompt' - }, - - rules: { - empty: function(value) { - return !(value === undefined || '' === value); - }, - email: function(value){ - var - emailRegExp = new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?") - ; - return emailRegExp.test(value); - }, - length: function(value, requiredLength) { - return (value !== undefined) - ? (value.length >= requiredLength) - : false - ; - }, - not: function(value, notValue) { - return (value != notValue); - }, - maxLength: function(value, maxLength) { - return (value !== undefined) - ? (value.length <= maxLength) - : false - ; - }, - match: function(value, matchingField) { - // use either id or name of field - var - $form = $(this), - matchingValue - ; - if($form.find('#' + matchingField).size() > 0) { - matchingValue = $form.find('#' + matchingField).val(); - } - else if($form.find('[name=' + matchingField +']').size() > 0) { - matchingValue = $form.find('[name=' + matchingField + ']').val(); - } - else if( $form.find('[data-validate="'+ matchingField +'"]').size() > 0 ) { - matchingValue = $form.find('[data-validate="'+ matchingField +'"]').val(); - } - return (matchingValue !== undefined) - ? ( value.toString() == matchingValue.toString() ) - : false - ; - }, - url: function(value) { - var - urlRegExp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ - ; - return urlRegExp.test(value); - } - } - -}; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/packaged/modules/behavior/state.js b/node/src/files/components/semantic/packaged/modules/behavior/state.js deleted file mode 100644 index f05887f5a..000000000 --- a/node/src/files/components/semantic/packaged/modules/behavior/state.js +++ /dev/null @@ -1,649 +0,0 @@ -/* ****************************** - Module - State - Change text based on state context - Hover/Pressed/Active/Inactive - Author: Jack Lukic - Last revision: May 2012 - - State text module is used to apply text to a given node - depending on the elements "state" - - State is either defined as "active" or "inactive" depending - on the returned value of a test function - - Usage: - - $button - .state({ - states: { - active: true - }, - text: { - inactive: 'Follow', - active : 'Following', - enable : 'Add', - disable : 'Remove' - } - }) - ; - - "Follow", turns to "Add" on hover, then "Following" on active - and finally "Remove" on active hover - - This plugin works in correlation to API module and will, by default, - use deffered object accept/reject to determine state. - -****************************** */ - -;(function ( $, window, document, undefined ) { - -$.fn.state = function(parameters) { - var - - $allModules = $(this), - - // make available in scope - selector = $allModules.selector || '', - query = arguments[0], - passedArguments = [].slice.call(arguments, 1), - - // set up performance tracking - time = new Date().getTime(), - performance = [], - - invokedResponse - ; - $allModules - .each(function() { - var - $module = $(this), - - settings = $.extend(true, {}, $.fn.state.settings, parameters), - - element = this, - instance = $module.data('module-' + settings.namespace), - methodInvoked = (typeof query == 'string'), - - // shortcuts - namespace = settings.namespace, - metadata = settings.metadata, - className = settings.className, - states = settings.states, - text = settings.text, - - module - ; - module = { - - initialize: function() { - module.verbose('Initializing module', element); - - // allow module to guess desired state based on element - if(settings.automatic) { - module.add.defaults(); - } - - // bind events with delegated events - if(settings.context && selector !== '') { - if( module.allows('hover') ) { - $(element, settings.context) - .on(selector, 'mouseenter.' + namespace, module.hover.enable) - .on(selector, 'mouseleave.' + namespace, module.hover.disable) - ; - } - if( module.allows('pressed') ) { - $(element, settings.context) - .on(selector, 'mousedown.' + namespace, module.pressed.enable) - .on(selector, 'mouseup.' + namespace, module.pressed.disable) - ; - } - if( module.allows('focus') ) { - $(element, settings.context) - .on(selector, 'focus.' + namespace, module.focus.enable) - .on(selector, 'blur.' + namespace, module.focus.disable) - ; - } - $(settings.context) - .on(selector, 'mouseenter.' + namespace, module.text.change) - .on(selector, 'mouseleave.' + namespace, module.text.reset) - .on(selector, 'click.' + namespace, module.toggle) - ; - - } - else { - if( module.allows('hover') ) { - $module - .on('mouseenter.' + namespace, module.hover.enable) - .on('mouseleave.' + namespace, module.hover.disable) - ; - } - if( module.allows('pressed') ) { - $module - .on('mousedown.' + namespace, module.pressed.enable) - .on('mouseup.' + namespace, module.pressed.disable) - ; - } - if( module.allows('focus') ) { - $module - .on('focus.' + namespace, module.focus.enable) - .on('blur.' + namespace, module.focus.disable) - ; - } - $module - .on('mouseenter.' + namespace, module.text.change) - .on('mouseleave.' + namespace, module.text.reset) - .on('click.' + namespace, module.toggle) - ; - } - $module - .data('module-' + namespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module', element); - $module - .off('.' + namespace) - ; - }, - - refresh: function() { - module.verbose('Refreshing selector cache', element); - $module = $(element); - }, - - add: { - defaults: function() { - var - userStates = parameters && $.isPlainObject(parameters.states) - ? parameters.states - : {} - ; - $.each(settings.defaults, function(type, typeStates) { - if( module.is[type] !== undefined && module.is[type]() ) { - module.verbose('Adding default states', type, element); - $.extend(settings.states, typeStates, userStates); - } - }); - } - }, - - is: { - - active: function() { - return $module.hasClass(className.active); - }, - loading: function() { - return $module.hasClass(className.loading); - }, - inactive: function() { - return !( $module.hasClass(className.active) ); - }, - - enabled: function() { - return !( $module.is(settings.filter.active) ); - }, - disabled: function() { - return ( $module.is(settings.filter.active) ); - }, - textEnabled: function() { - return !( $module.is(settings.filter.text) ); - }, - - // definitions for automatic type detection - button: function() { - return $module.is('.button:not(a, .submit)'); - }, - input: function() { - return $module.is('input'); - } - }, - - allows: function(state) { - return states[state] || false; - }, - enable: function(state) { - if(module.allows(state)) { - $module.addClass( className[state] ); - } - }, - disable: function(state) { - if(module.allows(state)) { - $module.removeClass( className[state] ); - } - }, - textFor: function(state) { - return text[state] || false; - }, - - focus : { - enable: function() { - $module.addClass(className.focus); - }, - disable: function() { - $module.removeClass(className.focus); - } - }, - - hover : { - enable: function() { - $module.addClass(className.hover); - }, - disable: function() { - $module.removeClass(className.hover); - } - }, - - pressed : { - enable: function() { - $module - .addClass(className.pressed) - .one('mouseleave', module.pressed.disable) - ; - }, - disable: function() { - $module.removeClass(className.pressed); - } - }, - - // determines method for state activation - toggle: function() { - var - apiRequest = $module.data(metadata.promise) - ; - if( module.allows('active') && module.is.enabled() ) { - module.refresh(); - if(apiRequest !== undefined) { - module.listenTo(apiRequest); - } - else { - module.change(); - } - } - }, - - listenTo: function(apiRequest) { - module.debug('API request detected, waiting for state signal', apiRequest); - if(apiRequest) { - if(text.loading) { - module.text.update(text.loading); - } - $.when(apiRequest) - .then(function() { - if(apiRequest.state() == 'resolved') { - module.debug('API request succeeded'); - settings.activateTest = function(){ return true; }; - settings.deactivateTest = function(){ return true; }; - } - else { - module.debug('API request failed'); - settings.activateTest = function(){ return false; }; - settings.deactivateTest = function(){ return false; }; - } - module.change(); - }) - ; - } - // xhr exists but set to false, beforeSend killed the xhr - else { - settings.activateTest = function(){ return false; }; - settings.deactivateTest = function(){ return false; }; - } - }, - - // checks whether active/inactive state can be given - change: function() { - module.debug('Determining state change direction'); - // inactive to active change - if( module.is.inactive() ) { - module.activate(); - } - else { - module.deactivate(); - } - if(settings.sync) { - module.sync(); - } - settings.onChange(); - }, - - activate: function() { - if( $.proxy(settings.activateTest, element)() ) { - module.debug('Setting state to active'); - $module - .addClass(className.active) - ; - module.text.update(text.active); - } - }, - - deactivate: function() { - if($.proxy(settings.deactivateTest, element)() ) { - module.debug('Setting state to inactive'); - $module - .removeClass(className.active) - ; - module.text.update(text.inactive); - } - }, - - sync: function() { - module.verbose('Syncing other buttons to current state'); - if( module.is.active() ) { - $allModules - .not($module) - .state('activate'); - } - else { - $allModules - .not($module) - .state('deactivate') - ; - } - }, - - text: { - - // finds text node to update - get: function() { - return (settings.selector.text) - ? $module.find(settings.selector.text).text() - : $module.html() - ; - }, - - flash: function(text, duration) { - var - previousText = module.text.get() - ; - text = text || settings.text.flash; - duration = duration || settings.flashDuration; - module.text.update(text); - setTimeout(function(){ - module.text.update(previousText); - }, duration); - }, - - change: function() { - module.verbose('Checking if text should be changed'); - if( module.is.textEnabled() ) { - if( module.is.active() ) { - if(text.hover) { - module.verbose('Changing text to hover text', text.hover); - module.text.update(text.hover); - } - else if(text.disable) { - module.verbose('Changing text to disable text', text.disable); - module.text.update(text.disable); - } - } - else { - if(text.hover) { - module.verbose('Changing text to hover text', text.disable); - module.text.update(text.hover); - } - else if(text.enable){ - module.verbose('Changing text to enable text', text.disable); - module.text.update(text.enable); - } - } - } - }, - - // on mouseout sets text to previous value - reset : function() { - var - activeText = text.active || $module.data(metadata.storedText), - inactiveText = text.inactive || $module.data(metadata.storedText) - ; - if( module.is.textEnabled() ) { - if( module.is.active() && activeText) { - module.verbose('Resetting active text', activeText); - module.text.update(activeText); - } - else if(inactiveText) { - module.verbose('Resetting inactive text', activeText); - module.text.update(inactiveText); - } - } - }, - - update: function(text) { - var - currentText = module.text.get() - ; - if(text && text !== currentText) { - module.debug('Updating text', text); - if(settings.selector.text) { - $module - .data(metadata.storedText, text) - .find(settings.selector.text) - .text(text) - ; - } - else { - $module - .data(metadata.storedText, text) - .html(text) - ; - } - } - } - }, - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - performance: { - log: function(message) { - var - currentTime, - executionTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - executionTime = currentTime - time; - time = currentTime; - performance.push({ - 'Name' : message, - 'Execution Time' : executionTime - }); - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - } - }, - display: function() { - var - title = settings.moduleName + ' Performance (' + selector + ')', - caption = settings.moduleName + ': ' + selector + '(' + $allModules.size() + ' elements)' - ; - if(console.group !== undefined && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ':' + data['Execution Time']); - }); - } - console.groupEnd(); - performance = []; - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - module.performance.log(arguments[0]); - module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':'); - } - }, - debug: function() { - if(settings.debug) { - module.performance.log(arguments[0]); - module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':'); - } - }, - error: function() { - if(console.log !== undefined) { - module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':'); - } - }, - invoke: function(query, context, passedArguments) { - var - maxDepth, - found - ; - passedArguments = passedArguments || [].slice.call( arguments, 2 ); - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found; - } - }; - - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(query, this, passedArguments); - } - // otherwise initialize - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - // chain or return queried method - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.state.settings = { - - // module info - moduleName : 'State Module', - - // debug output - debug : true, - - // verbose debug output - verbose : false, - - // namespace for events - namespace : 'state', - - // debug data includes performance - performance: true, - - // callback occurs on state change - onChange: function() {}, - - // state test functions - activateTest : function() { return true; }, - deactivateTest : function() { return true; }, - - // whether to automatically map default states - automatic : true, - - // activate / deactivate changes all elements instantiated at same time - sync : false, - - // default flash text duration, used for temporarily changing text of an element - flashDuration : 3000, - - // selector filter - filter : { - text : '.loading, .disabled', - active : '.disabled' - }, - - context : false, - // errors - errors: { - method : 'The method you called is not defined.' - }, - - // metadata - metadata: { - promise : 'promise', - storedText : 'stored-text' - }, - - // change class on state - className: { - focus : 'focus', - hover : 'hover', - pressed : 'down', - active : 'active', - loading : 'loading' - }, - - selector: { - // selector for text node - text: false - }, - - defaults : { - input: { - hover : true, - focus : true, - pressed : true, - loading : false, - active : false - }, - button: { - hover : true, - focus : false, - pressed : true, - active : false, - loading : true - } - }, - - states : { - hover : true, - focus : true, - pressed : true, - loading : false, - active : false - }, - - text : { - flash : false, - hover : false, - active : false, - inactive : false, - enable : false, - disable : false - } - -}; - - - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/packaged/modules/chat.js b/node/src/files/components/semantic/packaged/modules/chat.js deleted file mode 100644 index 017a1af4f..000000000 --- a/node/src/files/components/semantic/packaged/modules/chat.js +++ /dev/null @@ -1,697 +0,0 @@ -/* ****************************** - Module - Chat Room - Author: Jack Lukic - Notes: First Commit Aug 8, 2012 - - Designed as a simple modular chat component -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.chat = function(key, channelName, parameters) { - var - settings = $.extend(true, {}, $.fn.chat.settings, parameters), - // hoist arguments - moduleArguments = arguments || false - ; - $(this) - .each(function() { - var - $module = $(this), - $expandButton = $module.find(settings.selector.expandButton), - $userListButton = $module.find(settings.selector.userListButton), - $userList = $module.find(settings.selector.userList), - $room = $module.find(settings.selector.room), - $userCount = $module.find(settings.selector.userCount), - - $log = $module.find(settings.selector.log), - $message = $module.find(settings.selector.message), - - $messageInput = $module.find(settings.selector.messageInput), - $messageButton = $module.find(settings.selector.messageButton), - - instance = $module.data('module'), - - className = settings.className, - namespace = settings.namespace, - - html = '', - users = {}, - loggedInUser, - - message, - count, - - height, - - pusher, - module - ; - - module = { - - channel: false, - width: { - log : $log.width(), - userList : $userList.outerWidth() - }, - - initialize: function() { - - // check error conditions - if(Pusher === undefined) { - module.error(settings.errors.pusher); - } - if(key === undefined || channelName === undefined) { - module.error(settings.errors.key); - return false; - } - else if( !(settings.endpoint.message || settings.endpoint.authentication) ) { - module.error(settings.errors.endpoint); - return false; - } - - // define pusher - pusher = new Pusher(key); - Pusher.channel_auth_endpoint = settings.endpoint.authentication; - - module.channel = pusher.subscribe(channelName); - - module.channel.bind('pusher:subscription_succeeded', module.user.list.create); - module.channel.bind('pusher:subscription_error', module.error); - module.channel.bind('pusher:member_added', module.user.joined); - module.channel.bind('pusher:member_removed', module.user.left); - module.channel.bind('update_messages', module.message.receive); - - $.each(settings.customEvents, function(label, value) { - module.channel.bind(label, value); - }); - - // expandable with states - if( $.fn.hoverClass !== undefined && $.fn.downClass !== undefined ) { - $expandButton - .hoverClass() - .downClass() - ; - $userListButton - .hoverClass() - .downClass() - ; - $messageButton - .hoverClass() - .downClass() - ; - } - // bind module events - $userListButton - .on('click.' + namespace, module.event.toggleUserList) - ; - $expandButton - .on('click.' + namespace, module.event.toggleExpand) - ; - $messageInput - .on('keydown.' + namespace, module.event.input.keydown) - .on('keyup.' + namespace, module.event.input.keyup) - ; - $messageButton - .on('mouseenter.' + namespace, module.event.hover) - .on('mouseleave.' + namespace, module.event.hover) - .on('click.' + namespace, module.event.submit) - ; - // scroll to bottom of chat log - $log - .animate({ - scrollTop: $log.prop('scrollHeight') - }, 400) - ; - $module - .data('module', module) - .addClass(className.loading) - ; - - }, - - // refresh module - refresh: function() { - // reset width calculations - $userListButton - .removeClass(className.active) - ; - module.width = { - log : $log.width(), - userList : $userList.outerWidth() - }; - if( $userListButton.hasClass(className.active) ) { - module.user.list.hide(); - } - $module.data('module', module); - }, - - user: { - - updateCount: function() { - if(settings.userCount) { - users = $module.data('users'); - count = 0; - $.each(users, function(index){ - count++; - }); - $userCount - .html( settings.templates.userCount(count) ) - ; - } - }, - - // add user to user list - joined: function(member) { - users = $module.data('users'); - if(member.id != 'anonymous' && users[ member.id ] === undefined ) { - users[ member.id ] = member.info; - if(settings.randomColor && member.info.color === undefined) { - member.info.color = settings.templates.color(member.id); - } - html = settings.templates.userList(member.info); - if(member.info.isAdmin) { - $(html) - .prependTo($userList) - .preview({ - type : 'user', - placement : 'left' - }) - ; - } - else { - $(html) - .appendTo($userList) - .preview({ - type : 'user', - placement : 'left' - }) - ; - } - if( $.fn.preview !== undefined ) { - $userList - .children() - .last() - .preview({ - type: 'user', - placement: 'left' - }) - ; - } - if(settings.partingMessages) { - $log - .append( settings.templates.joined(member.info) ) - ; - module.message.scroll.test(); - } - module.user.updateCount(); - } - }, - - // remove user from user list - left: function(member) { - users = $module.data('users'); - if(member !== undefined && member.id !== 'anonymous') { - delete users[ member.id ]; - $module - .data('users', users) - ; - $userList - .find('[data-id='+ member.id + ']') - .remove() - ; - if(settings.partingMessages) { - $log - .append( settings.templates.left(member.info) ) - ; - module.message.scroll.test(); - } - module.user.updateCount(); - } - }, - - list: { - - // receives list of members and generates user list - create: function(members) { - users = {}; - members.each(function(member) { - if(member.id !== 'anonymous' && member.id !== 'undefined') { - if(settings.randomColor && member.info.color === undefined) { - member.info.color = settings.templates.color(member.id); - } - // sort list with admin first - html = (member.info.isAdmin) - ? settings.templates.userList(member.info) + html - : html + settings.templates.userList(member.info) - ; - users[ member.id ] = member.info; - } - }); - $module - .data('users', users) - .data('user', users[members.me.id] ) - .removeClass(className.loading) - ; - $userList - .html(html) - ; - if( $.fn.preview !== undefined ) { - $userList - .children() - .preview({ - type: 'user', - placement: 'left' - }) - ; - } - module.user.updateCount(); - $.proxy(settings.onJoin, $userList.children())(); - }, - - // shows user list - show: function() { - $log - .animate({ - width: (module.width.log - module.width.userList) - }, { - duration : settings.speed, - easing : settings.easing, - complete : module.message.scroll.move - }) - ; - }, - - // hides user list - hide: function() { - $log - .stop() - .animate({ - width: (module.width.log) - }, { - duration : settings.speed, - easing : settings.easing, - complete : module.message.scroll.move - }) - ; - } - - } - - }, - - message: { - - // handles scrolling of chat log - scroll: { - test: function() { - height = $log.prop('scrollHeight') - $log.height(); - if( Math.abs($log.scrollTop() - height) < settings.scrollArea) { - module.message.scroll.move(); - } - }, - - move: function() { - height = $log.prop('scrollHeight') - $log.height(); - $log - .scrollTop(height) - ; - } - }, - - // sends chat message - send: function(message) { - if( !module.utils.emptyString(message) ) { - $.api({ - url : settings.endpoint.message, - method : 'POST', - data : { - 'chat_message': { - content : message, - timestamp : new Date().getTime() - } - } - }); - } - }, - - // receives chat response and processes - receive: function(response) { - message = response.data; - users = $module.data('users'); - loggedInUser = $module.data('user'); - if(users[ message.userID] !== undefined) { - // logged in user's messages already pushed instantly - if(loggedInUser === undefined || loggedInUser.id != message.userID) { - message.user = users[ message.userID ]; - module.message.display(message); - } - } - }, - - // displays message in chat log - display: function(message) { - $log - .append( settings.templates.message(message) ) - ; - module.message.scroll.test(); - $.proxy(settings.onMessage, $log.children().last() )(); - } - - }, - - expand: function() { - $module - .addClass(className.expand) - ; - $.proxy(settings.onExpand, $module )(); - module.refresh(); - }, - - contract: function() { - $module - .removeClass(className.expand) - ; - $.proxy(settings.onContract, $module )(); - module.refresh(); - }, - - event: { - - input: { - - keydown: function(event) { - if(event.which == 13) { - $messageButton - .addClass(className.down) - ; - } - }, - - keyup: function(event) { - if(event.which == 13) { - $messageButton - .removeClass(className.down) - ; - module.event.submit(); - } - } - - }, - - // handles message form submit - submit: function() { - var - message = $messageInput.val(), - loggedInUser = $module.data('user') - ; - if(loggedInUser !== undefined && !module.utils.emptyString(message)) { - module.message.send(message); - // display immediately - module.message.display({ - user: loggedInUser, - text: message - }); - module.message.scroll.move(); - $messageInput - .val('') - ; - - } - }, - - // handles button click on expand button - toggleExpand: function() { - if( !$module.hasClass(className.expand) ) { - $expandButton - .addClass(className.active) - ; - module.expand(); - } - else { - $expandButton - .removeClass(className.active) - ; - module.contract(); - } - }, - - // handles button click on user list button - toggleUserList: function() { - if( !$log.is(':animated') ) { - if( !$userListButton.hasClass(className.active) ) { - $userListButton - .addClass(className.active) - ; - module.user.list.show(); - } - else { - $userListButton - .removeClass('active') - ; - module.user.list.hide(); - } - } - - } - }, - - utils: { - - emptyString: function(string) { - if(typeof string == 'string') { - return (string.search(/\S/) == -1); - } - return false; - } - - }, - - // standard methods - debug: function(message) { - if(settings.debug) { - console.info(settings.moduleName + ': ' + message); - } - }, - error: function(errorMessage) { - console.warn(settings.moduleName + ': ' + errorMessage); - }, - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - return ( $.isFunction( method ) ) - ? method.apply(context, methodArguments) - : false - ; - } - - }; - - if(instance !== undefined && moduleArguments) { - // simpler than invoke realizing to invoke itself (and losing scope due prototype.call() - if(moduleArguments[0] == 'invoke') { - moduleArguments = Array.prototype.slice.call( moduleArguments, 1 ); - } - return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // initializing - module.initialize(); - }) - ; - - return this; - }; - - $.fn.chat.settings = { - - moduleName : 'Chat Module', - debug : false, - namespace : 'chat', - - onJoin : function(){}, - onMessage : function(){}, - onExpand : function(){}, - onContract : function(){}, - - customEvents : {}, - - partingMessages : false, - userCount : true, - - randomColor : true, - - speed : 300, - easing : 'easeOutQuint', - - // pixels from bottom of chat log that should trigger auto scroll to bottom - scrollArea : 9999, - - endpoint : { - message : false, - authentication : false - }, - - errors: { - method : 'The method you called is not defined', - endpoint : 'Please define a message and authentication endpoint.', - key : 'You must specify a pusher key and channel.', - pusher : 'You must include the Pusher library.' - }, - - className : { - expand : 'expand', - active : 'active', - hover : 'hover', - down : 'down', - loading : 'loading' - }, - - selector : { - userCount : '.actions .message', - userListButton : '.actions .button.user-list', - expandButton : '.actions .button.expand', - room : '.room', - userList : '.room .user-list', - log : '.room .log', - message : '.room .log .message', - author : '.room log .message .author', - messageInput : '.talk input', - messageButton : '.talk .send.button' - }, - - templates: { - - userCount: function(number) { - return number + ' users in chat'; - }, - - color: function(userID) { - var - colors = [ - '#000000', - '#333333', - '#666666', - '#999999', - '#CC9999', - '#CC6666', - '#CC3333', - '#993333', - '#663333', - '#CC6633', - '#CC9966', - '#CC9933', - '#999966', - '#CCCC66', - '#99CC66', - '#669933', - '#669966', - '#33A3CC', - '#336633', - '#33CCCC', - '#339999', - '#336666', - '#336699', - '#6666CC', - '#9966CC', - '#333399', - '#663366', - '#996699', - '#993366', - '#CC6699' - ] - ; - return colors[ Math.floor( Math.random() * colors.length) ]; - }, - - message: function(message) { - var - html = '' - ; - if(message.user.isAdmin) { - message.user.color = '#55356A'; - html += '
'; - html += ''; - } - /* - else if(message.user.isPro) { - html += '
'; - html += ''; - } - */ - else { - html += '
'; - } - html += '

'; - if(message.user.color !== undefined) { - html += '' + message.user.name + ': '; - } - else { - html += '' + message.user.name + ': '; - } - html += '' - + message.text - + '

' - + '
' - ; - return html; - }, - - joined: function(member) { - return (typeof member.name !== undefined) - ? '
' + member.name + ' has joined the chat.
' - : false - ; - }, - left: function(member) { - return (typeof member.name !== undefined) - ? '
' + member.name + ' has left the chat.
' - : false - ; - }, - - userList: function(member) { - var - html = '' - ; - if(member.isAdmin) { - member.color = '#55356A'; - } - html += '' - + '
' - + '
' - + ' ' - + '
' - ; - if(member.color !== undefined) { - html += '

' + member.name + '

'; - } - else { - html += '

' + member.name + '

'; - } - html += '
'; - return html; - } - - } - - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/packaged/modules/checkbox.js b/node/src/files/components/semantic/packaged/modules/checkbox.js deleted file mode 100644 index 23fedc290..000000000 --- a/node/src/files/components/semantic/packaged/modules/checkbox.js +++ /dev/null @@ -1,283 +0,0 @@ -/* ****************************** - Semantic Module: Checkbox - Author: Jack Lukic - Notes: First Commit March 25, 2013 - - Simple plug-in which maintains the state for ui checkbox - This can be done without javascript, only in instances - where each checkbox is assigned a unique ID. This provides a separate - programmatic option when that is not possible. - -****************************** */ - -;(function ( $, window, document, undefined ) { - -$.fn.checkbox = function(parameters) { - var - $allModules = $(this), - - settings = $.extend(true, {}, $.fn.checkbox.settings, parameters), - - eventNamespace = '.' + settings.namespace, - moduleNamespace = 'module-' + settings.namespace, - - selector = $allModules.selector || '', - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - invokedResponse - ; - - $allModules - .each(function() { - var - $module = $(this), - $input = $(this).find(settings.selector.input), - - selector = $module.selector || '', - element = this, - instance = $module.data('module-' + settings.namespace), - - className = settings.className, - namespace = settings.namespace, - errors = settings.errors, - module - ; - - module = { - - initialize: function() { - if(settings.context && selector !== '') { - module.verbose('Initializing checkbox with delegated events', $module); - $(element, settings.context) - .on(selector, 'click' + eventNamespace, module.toggle) - .data(moduleNamespace, module) - ; - } - else { - module.verbose('Initializing checkbox with bound events', $module); - $module - .on('click' + eventNamespace, module.toggle) - .data(moduleNamespace, module) - ; - } - }, - - destroy: function() { - module.verbose('Destroying previous module for', $module); - $module - .off(namespace) - ; - }, - - enable: function() { - module.debug('Enabling checkbox'); - $module - .addClass(className.active) - ; - $input - .prop('checked', true) - ; - $.proxy(settings.onChange, $input.get())(); - $.proxy(settings.onEnable, $input.get())(); - }, - - disable: function() { - module.debug('Disabling checkbox'); - $module - .removeClass(className.active) - ; - $input - .prop('checked', false) - ; - $.proxy(settings.onChange, $input.get())(); - $.proxy(settings.onDisable, $input.get())(); - }, - - toggle: function() { - if( $input.prop('checked') === undefined || !$input.prop('checked') ) { - module.enable(); - } - else { - module.disable(); - } - }, - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - module.performance.log(arguments[0]); - module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':'); - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - module.performance.log(arguments[0]); - module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':'); - } - }, - error: function() { - if(console.log !== undefined) { - module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':'); - } - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime, - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message, - 'Execution Time' : executionTime - }); - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - } - }, - display: function() { - var - title = settings.moduleName, - caption = settings.moduleName + ': ' + selector + '(' + $allModules.size() + ' elements)', - totalExecutionTime = 0 - ; - if(selector) { - title += 'Performance (' + selector + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - $.each(performance, function(index, data) { - totalExecutionTime += data['Execution Time']; - }); - console.table(performance); - } - else { - $.each(performance, function(index, data) { - totalExecutionTime += data['Execution Time']; - }); - } - console.log('Total Execution Time:', totalExecutionTime +'ms'); - console.groupEnd(); - performance = []; - time = false; - } - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - module.verbose('Executing invoked function', found); - return found.apply(context, passedArguments); - } - return found || false; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - invokedResponse = module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - return (invokedResponse) - ? invokedResponse - : this - ; -}; - -$.fn.checkbox.settings = { - - moduleName : 'Checkbox Module', - namespace : 'checkbox', - - verbose : true, - debug : true, - performance : true, - - // delegated event context - context : false, - - onChange : function(){}, - onEnable : function(){}, - onDisable : function(){}, - - errors : { - method : 'The method you called is not defined.' - }, - - selector : { - input : 'input' - }, - - className : { - active : 'active' - } - -}; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/packaged/modules/modal.js b/node/src/files/components/semantic/packaged/modules/modal.js deleted file mode 100644 index d3f674ad4..000000000 --- a/node/src/files/components/semantic/packaged/modules/modal.js +++ /dev/null @@ -1,354 +0,0 @@ -/* ****************************** - Modal - Author: Jack Lukic - Notes: First Commit May 14, 2012 - - Manages modal state and - stage dimming - -****************************** */ - -;(function ( $, window, document, undefined ) { - - $.dimScreen = function(parameters) { - var - // if parameter is string it is callback function - settings = (typeof parameters == 'function') - ? $.extend({}, $.fn.modal.settings, { dim: parameters }) - : $.extend({}, $.fn.modal.settings, parameters), - - $context = $(settings.context), - $dimmer = $context.children(settings.selector.dimmer), - dimmerExists = ($dimmer.size() > 0), - currentOpacity = $dimmer.css('opacity') - ; - if(!dimmerExists) { - $dimmer = $('
') - .attr('id','dimmer') - .html('
') - ; - $context - .append($dimmer) - ; - } - if(currentOpacity != settings.opacity) { - $dimmer - .one('click', function() { - settings.unDim(); - $.unDimScreen(); - }) - ; - if(settings.duration === 0) { - $dimmer - .css({ - visibility : 'visible' - }) - .find('.content') - .css({ - opacity : settings.opacity, - visibility : 'visible' - }) - ; - } - else { - $dimmer - .css({ - visibility : 'visible' - }) - .find('.content') - .css({ - opacity : 0, - visibility : 'visible' - }) - .fadeTo(settings.duration, settings.opacity, settings.dim) - ; - } - } - return this; - }; - $.unDimScreen = function(parameters) { - var - settings = (typeof parameters == 'function') - ? $.extend({}, $.fn.modal.settings, { unDim: parameters }) - : $.extend({}, $.fn.modal.settings, parameters), - - $context = $(settings.context), - $dimmer = $context.children(settings.selector.dimmer), - dimmerExists = ($dimmer.size() > 0) - ; - if(dimmerExists) { - // callback before unDim - settings.unDim(); - if(settings.duration === 0) { - $dimmer - .css({ - visibility: 'hidden' - }) - .remove() - ; - } - else { - $dimmer - .find('.content') - .fadeTo(settings.duration, 0, function(){ - $dimmer.remove(); - }) - ; - } - } - return this; - }; - - $.fn.modal = function(parameters) { - var - settings = $.extend(true, {}, $.fn.modal.settings, parameters), - // make arguments available - query = arguments[0], - passedArguments = [].slice.call(arguments, 1), - invokedResponse - ; - - $(this) - .each(function() { - var - $modal = $(this), - - $closeButton = $modal.find(settings.selector.closeButton), - $dimmer = $(settings.context).find(settings.selector.dimmer), - $modals = $(settings.context).children(settings.selector.modal), - $otherModals = $modals.not($modal), - - instance = $modal.data('module-' + settings.namespace), - methodInvoked = (typeof query == 'string'), - - className = settings.className, - namespace = settings.namespace, - - module - ; - - module = { - - initialize: function() { - // attach events - $modal - .on('modalShow.' + namespace, module.show) - .on('modalHide.' + namespace, module.hide) - .data('module-' + namespace, module) - ; - }, - - show: function() { - var - modalHeight = $modal.outerHeight(), - windowHeight = $(window).height(), - - cantFit = (modalHeight > windowHeight), - modalType = (cantFit) - ? 'absolute' - : 'fixed', - topCentering = (cantFit) - ? '0' - : '50%', - offsetTop = (cantFit) - ? (windowHeight / 8) - : -( (modalHeight - settings.closeSpacing) / 2), - - finalPosition = ($modal.css('position') == 'absolute') - ? offsetTop + $(window).prop('pageYOffset') - : offsetTop, - startPosition = finalPosition + settings.animationOffset - ; - // set top margin as offset - if($.fn.popIn !== undefined) { - $modal - .addClass(modalType) - .css({ - display : 'block', - opacity : 0, - top: topCentering, - marginTop : finalPosition + 'px' - }) - .popIn() - ; - } - else { - $modal - .addClass(modalType) - .css({ - display : 'block', - opacity : 0, - top: topCentering, - marginTop : startPosition + 'px' - }) - .animate({ - opacity : 1, - marginTop : finalPosition + 'px' - }, (settings.duration + 300), settings.easing) - ; - } - if( $otherModals.is(':visible') ) { - $otherModals - .filter(':visible') - .hide() - ; - } - $.dimScreen({ - context : settings.context, - duration : 0, - dim : function() { - $(document) - .on('keyup.' + namespace, function(event) { - var - keyCode = event.which, - escapeKey = 27 - ; - switch(keyCode) { - case escapeKey: - $modal.trigger('modalHide'); - event.preventDefault(); - break; - } - }) - ; - $closeButton - .one('click', function() { - $modal.trigger('modalHide'); - }) - ; - settings.dim(); - }, - unDim: function() { - $modal.trigger('modalHide'); - $closeButton.unbind('click'); - } - }); - }, - - hide: function() { - // remove keyboard detection - $(document) - .off('keyup.' + namespace) - ; - $.unDimScreen({ - duration: 0, - unDim: function() { - $modal - .popOut(200) - ; - settings.unDim(); - } - }); - }, - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - error: function() { - var - output = [], - errorMessage = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.warn || console.log || function(){} - ; - if(settings.debug) { - output.push(errorMessage); - output.concat(variables); - log.apply(console, output.concat(variables) ); - } - }, - invoke: function(query, context, passedArguments) { - var - maxDepth, - found - ; - passedArguments = passedArguments || [].slice.call( arguments, 2 ); - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found; - } - }; - - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(query, this, passedArguments); - } - // otherwise initialize - else { - module.initialize(); - } - }) - ; - // chain or return queried method - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; - }; - - $.fn.modal.settings = { - - moduleName : 'Modal', - debug : false, - namespace : 'modal', - - errors: { - method : 'The method you called is not defined' - }, - - dim : function(){}, - unDim : function(){}, - hide : function(){}, - show : function(){}, - - context : 'body', - opacity : 0.8, - - closeSpacing : 25, - animationOffset : 15, - - duration : 400, - easing : 'easeOutExpo', - - selector : { - dimmer : '#dimmer', - modal : '.modal', - closeButton : '.close' - } - }; - - -})( jQuery, window , document ); \ No newline at end of file diff --git a/node/src/files/components/semantic/packaged/modules/nag.js b/node/src/files/components/semantic/packaged/modules/nag.js deleted file mode 100644 index f3c0bc3a3..000000000 --- a/node/src/files/components/semantic/packaged/modules/nag.js +++ /dev/null @@ -1,350 +0,0 @@ -/* ****************************** - Nag - Author: Jack Lukic - Notes: First Commit July 19, 2012 - - Simple fixed position nag -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.nag = function(parameters) { - var - settings = $.extend(true, {}, $.fn.nag.settings, parameters), - // hoist arguments - moduleArguments = arguments || false - ; - $(this) - .each(function() { - var - $module = $(this), - $close = $module.find(settings.selector.close), - - $context = $(settings.context), - - instance = $module.data('module'), - className = settings.className, - - moduleOffset, - moduleHeight, - - contextWidth, - contextHeight, - contextOffset, - - yOffset, - yPosition, - - timer, - module, - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); } - ; - module = { - - initialize: function() { - // calculate module offset once - moduleOffset = $module.offset(); - moduleHeight = $module.outerHeight(); - contextWidth = $context.outerWidth(); - contextHeight = $context.outerHeight(); - contextOffset = $context.offset(); - - $module - .data('module', module) - ; - $close - .on('mouseenter mouseleave', module.event.hover) - .on('click', module.dismiss) - ; - // lets avoid javascript if we dont need to reposition - if(settings.context == window && settings.position == 'fixed') { - $module - .addClass(className.fixed) - ; - } - if(settings.sticky) { - // retrigger on scroll for absolute - if(settings.position == 'absolute') { - $context - .on('scroll resize', module.event.scroll) - ; - } - // fixed is always relative to window - else { - $(window) - .on('scroll resize', module.event.scroll) - ; - } - // fire once to position on init - $.proxy(module.event.scroll, this)(); - } - if(settings.followLink) { - $module - .on('mouseenter mouseleave', module.event.hover) - .on('click', module.followLink) - ; - } - - if(settings.displayTime > 0) { - setTimeout(module.hide, settings.displayTime); - } - if(module.should.show()) { - if( !$module.is(':visible') ) { - module.show(); - } - } - else { - module.hide(); - } - }, - - refresh: function() { - moduleOffset = $module.offset(); - moduleHeight = $module.outerHeight(); - contextWidth = $context.outerWidth(); - contextHeight = $context.outerHeight(); - contextOffset = $context.offset(); - }, - - show: function() { - if($.fn.popIn !== undefined) { - $module - .popIn(settings.duration) - ; - } - else { - $module - .fadeIn(settings.duration, settings.easing) - ; - } - }, - hide: function() { - $module - .fadeOut(settings.duration, settings.easing) - ; - }, - - stick: function() { - module.refresh(); - - if(settings.position == 'fixed') { - var - windowScroll = $(window).prop('pageYOffset') || $(window).scrollTop(), - fixedOffset = ( $module.hasClass(className.bottom) ) - ? contextOffset.top + (contextHeight - moduleHeight) - windowScroll - : contextOffset.top - windowScroll - ; - $module - .css({ - position : 'fixed', - top : fixedOffset, - left : contextOffset.left, - width : contextWidth - settings.scrollBarWidth - }) - ; - } - else { - $module - .css({ - top : yPosition - }) - ; - } - }, - unStick: function() { - $module - .css({ - top : '' - }) - ; - }, - dismiss: function() { - if(settings.storageMethod) { - module.storage.set(settings.storedKey, settings.storedValue); - } - module.hide(); - }, - - should: { - show: function() { - if( module.storage.get(settings.storedKey) == settings.storedValue) { - return false; - } - return true; - }, - stick: function() { - yOffset = $context.prop('pageYOffset') || $context.scrollTop(); - yPosition = ( $module.hasClass(className.bottom) ) - ? (contextHeight - $module.outerHeight() ) + yOffset - : yOffset - ; - // absolute position calculated when y offset met - if(yPosition > moduleOffset.top) { - return true; - } - else if(settings.position == 'fixed') { - return true; - } - return false; - } - }, - - followLink: function() { - if($.fn.followLink !== undefined) { - $module - .followLink() - ; - } - }, - - storage: { - - set: function(key, value) { - if(settings.storageMethod == 'local' && store !== undefined) { - store.set(key, value); - } - // store by cookie - else if($.cookie !== undefined) { - $.cookie(key, value); - } - else { - module.error(settings.errors.noStorage); - } - }, - get: function(key) { - if(settings.storageMethod == 'local' && store !== undefined) { - return store.get(key); - } - // get by cookie - else if($.cookie !== undefined) { - return $.cookie(key); - } - else { - module.error(settings.errors.noStorage); - } - } - - }, - - event: { - hover: function() { - $(this) - .toggleClass(className.hover) - ; - }, - scroll: function() { - if(timer !== undefined) { - clearTimeout(timer); - } - timer = setTimeout(function() { - if(module.should.stick() ) { - requestAnimationFrame(module.stick); - } - else { - module.unStick(); - } - }, settings.lag); - } - }, - - error: function(error) { - console.log('Nag Module:' + error); - }, - - // allows for dot notation method calls - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( method ) ) { - return method.apply(context, methodArguments); - } - // return retrieved variable or chain - return method; - } - - }; - - if(instance !== undefined && moduleArguments) { - if(moduleArguments[0] == 'invoke') { - moduleArguments = Array.prototype.slice.call( moduleArguments, 1 ); - } - return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - module.initialize(); - - }) - ; - return this; - }; - - $.fn.nag.settings = { - - // set to zero to manually dismiss, otherwise hides on its own - displayTime : 0, - - // if there is a link to follow - followLink : true, - - // method of stickyness - position : 'fixed', - scrollBarWidth : 18, - - // type of storage to use - storageMethod : 'cookie', - - // value to store in dismissed localstorage/cookie - storedKey : 'nag', - storedValue : 'dismiss', - - // need to calculate stickyness on scroll - sticky : true, - - // how often to check scroll event - lag : 0, - - // context for scroll event - context : window, - - errors: { - noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state', - followLink : 'Follow link is set but the plugin is not included' - }, - - className : { - bottom : 'bottom', - hover : 'hover', - fixed : 'fixed' - }, - - selector : { - close: '.icon.close' - }, - - speed : 500, - easing : 'easeOutQuad' - - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/packaged/modules/popup.js b/node/src/files/components/semantic/packaged/modules/popup.js deleted file mode 100644 index 9fa717cfd..000000000 --- a/node/src/files/components/semantic/packaged/modules/popup.js +++ /dev/null @@ -1,590 +0,0 @@ -/* ****************************** - Tooltip / Popup - Author: Jack Lukic - Notes: First Commit Sep 07, 2012 -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.popup = function(parameters) { - var - settings = $.extend(true, {}, $.fn.popup.settings, parameters), - // make arguments available - moduleArguments = arguments || false, - invokedResponse - ; - $(this) - .each(function() { - var - $module = $(this), - $window = $(window), - $offsetParent = $module.offsetParent(), - $popup = (settings.inline) - ? $module.next(settings.selector.popup) - : $window.children(settings.selector.popup).last(), - - timer, - recursionDepth = 0, - - instance = $module.data('module-' + settings.namespace), - methodInvoked = (instance !== undefined && typeof parameters == 'string'), - - selector = settings.selector, - className = settings.className, - errors = settings.errors, - metadata = settings.metadata, - namespace = settings.namespace, - module - ; - - module = { - - // binds events - initialize: function() { - if(settings.event == 'hover') { - $module - .on('mouseenter.' + namespace, module.event.mouseenter) - .on('mouseleave.' + namespace, module.event.mouseleave) - ; - } - else { - $module - .on(settings.event + '.' + namespace, module.event[settings.event]) - ; - } - $window - .on('resize.' + namespace, module.event.resize) - ; - $module - .data('module-' + namespace, module) - ; - }, - - refresh: function() { - $popup = (settings.inline) - ? $module.next(selector.popup) - : $window.children(selector.popup).last() - ; - $offsetParent = $module.offsetParent(); - }, - - destroy: function() { - module.debug('Destroying existing popups'); - $module - .off('.' + namespace) - ; - $popup - .remove() - ; - }, - - event: { - mouseenter: function(event) { - var element = this; - timer = setTimeout(function() { - $.proxy(module.toggle, element)(); - if( $(element).hasClass(className.visible) ) { - event.stopPropagation(); - } - }, settings.delay); - }, - mouseleave: function(event) { - clearTimeout(timer); - if( $module.is(':visible') ) { - module.hide(); - } - }, - click: function(event) { - $.proxy(module.toggle, this)(); - if( $(this).hasClass(className.visible) ) { - event.stopPropagation(); - } - }, - resize: function() { - if( $popup.is(':visible') ) { - module.position(); - } - } - }, - - // generates popup html from metadata - create: function() { - module.debug('Creating pop-up content'); - var - html = $module.data(metadata.html) || settings.html, - title = $module.data(metadata.title) || settings.title, - content = $module.data(metadata.content) || $module.attr('title') || settings.content - ; - if(html || content || title) { - if(!html) { - html = settings.template({ - title : title, - content : content - }); - } - $popup = $('
') - .addClass(className.popup) - .html(html) - ; - if(settings.inline) { - $popup - .insertAfter($module) - ; - } - else { - $popup - .appendTo( $('body') ) - ; - } - } - else { - module.error(errors.content); - } - }, - - remove: function() { - $popup - .remove() - ; - }, - - get: { - offstagePosition: function() { - var - boundary = { - top : $(window).scrollTop(), - bottom : $(window).scrollTop() + $(window).height(), - left : 0, - right : $(window).width() - }, - popup = { - width : $popup.outerWidth(), - height : $popup.outerHeight(), - position : $popup.offset() - }, - offstage = {}, - offstagePositions = [] - ; - if(popup.position) { - offstage = { - top : (popup.position.top < boundary.top), - bottom : (popup.position.top + popup.height > boundary.bottom), - right : (popup.position.left + popup.width > boundary.right), - left : (popup.position.left < boundary.left) - }; - } - // return only boundaries that have been surpassed - $.each(offstage, function(direction, isOffstage) { - if(isOffstage) { - offstagePositions.push(direction); - } - }); - return (offstagePositions.length > 0) - ? offstagePositions.join(' ') - : false - ; - }, - nextPosition: function(position) { - switch(position) { - case 'top left': - position = 'bottom left'; - break; - case 'bottom left': - position = 'top right'; - break; - case 'top right': - position = 'bottom right'; - break; - case 'bottom right': - position = 'top center'; - break; - case 'top center': - position = 'bottom center'; - break; - case 'bottom center': - position = 'right center'; - break; - case 'right center': - position = 'left center'; - break; - case 'left center': - position = 'top center'; - break; - } - return position; - } - }, - - // determines popup state - toggle: function() { - $module = $(this); - module.debug('Toggling pop-up'); - // refresh state of module - module.refresh(); - if($popup.size() === 0) { - module.create(); - } - if( !$module.hasClass(className.visible) ) { - if( module.position() ) { - module.show(); - } - } - else { - module.hide(); - } - }, - - position: function(position, arrowOffset) { - var - windowWidth = $(window).width(), - windowHeight = $(window).height(), - width = $module.outerWidth(), - height = $module.outerHeight(), - popupWidth = $popup.outerWidth(), - popupHeight = $popup.outerHeight(), - - offset = (settings.inline) - ? $module.position() - : $module.offset(), - parentWidth = (settings.inline) - ? $offsetParent.outerWidth() - : $window.outerWidth(), - parentHeight = (settings.inline) - ? $offsetParent.outerHeight() - : $window.outerHeight(), - - positioning, - offstagePosition - ; - position = position || $module.data(metadata.position) || settings.position; - arrowOffset = arrowOffset || $module.data(metadata.arrowOffset) || settings.arrowOffset; - module.debug('Calculating offset for position', position); - switch(position) { - case 'top left': - positioning = { - top : 'auto', - bottom : parentHeight - offset.top + settings.distanceAway, - left : offset.left + arrowOffset - }; - break; - case 'top center': - positioning = { - bottom : parentHeight - offset.top + settings.distanceAway, - left : offset.left + (width / 2) - (popupWidth / 2) + arrowOffset, - top : 'auto', - right : 'auto' - }; - break; - case 'top right': - positioning = { - bottom : parentHeight - offset.top + settings.distanceAway, - right : parentWidth - offset.left - width - arrowOffset, - top : 'auto', - left : 'auto' - }; - break; - case 'left center': - positioning = { - top : offset.top + (height / 2) - (popupHeight / 2), - right : parentWidth - offset.left + settings.distanceAway - arrowOffset, - left : 'auto', - bottom : 'auto' - }; - break; - case 'right center': - positioning = { - top : offset.top + (height / 2) - (popupHeight / 2), - left : offset.left + width + settings.distanceAway + arrowOffset, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom left': - positioning = { - top : offset.top + height + settings.distanceAway, - left : offset.left + arrowOffset, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom center': - positioning = { - top : offset.top + height + settings.distanceAway, - left : offset.left + (width / 2) - (popupWidth / 2) + arrowOffset, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom right': - positioning = { - top : offset.top + height + settings.distanceAway, - right : parentWidth - offset.left - width - arrowOffset, - left : 'auto', - bottom : 'auto' - }; - break; - } - // true width on popup, avoid rounding error - $.extend(positioning, { - width: $popup.width() + 1 - }); - // tentatively place on stage - $popup - .removeAttr('style') - .removeClass('top right bottom left center') - .css(positioning) - .addClass(position) - .addClass(className.loading) - ; - // check if is offstage - offstagePosition = module.get.offstagePosition(); - // recursively find new positioning - if(offstagePosition) { - module.debug('Element is outside boundaries ', offstagePosition); - if(recursionDepth < settings.maxRecursion) { - position = module.get.nextPosition(position); - recursionDepth++; - module.debug('Trying new position: ', position); - return module.position(position); - } - else { - module.error(errors.recursion); - recursionDepth = 0; - return false; - } - } - else { - module.debug('Position is on stage', position); - recursionDepth = 0; - return true; - } - }, - - show: function() { - module.debug('Showing pop-up'); - $(selector.popup) - .filter(':visible') - .stop() - .fadeOut(200) - .prev($module) - .removeClass(className.visible) - ; - $module - .addClass(className.visible) - ; - $popup - .removeClass(className.loading) - ; - if(settings.animation == 'pop' && $.fn.popIn !== undefined) { - $popup - .stop() - .popIn(settings.duration, settings.easing) - ; - } - else { - $popup - .stop() - .fadeIn(settings.duration, settings.easing) - ; - } - if(settings.event == 'click' && settings.clicktoClose) { - module.debug('Binding popup close event'); - $(document) - .on('click.' + namespace, module.gracefully.hide) - ; - } - $.proxy(settings.onShow, $popup)(); - }, - - hide: function() { - $module - .removeClass(className.visible) - ; - if($popup.is(':visible') ) { - module.debug('Hiding pop-up'); - if(settings.animation == 'pop' && $.fn.popOut !== undefined) { - $popup - .stop() - .popOut(settings.duration, settings.easing, function() { - $popup.hide(); - }) - ; - } - else { - $popup - .stop() - .fadeOut(settings.duration, settings.easing) - ; - } - } - if(settings.event == 'click' && settings.clicktoClose) { - $(document) - .off('click.' + namespace) - ; - } - $.proxy(settings.onHide, $popup)(); - if(!settings.inline) { - module.remove(); - } - }, - - gracefully: { - hide: function(event) { - // don't close on clicks inside popup - if( $(event.target).closest(selector.popup).size() === 0) { - module.hide(); - } - } - }, - - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - error: function() { - var - output = [], - errorMessage = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.warn || console.log || function(){} - ; - if(settings.debug) { - output.push(errorMessage); - output.concat(variables); - log.apply(console, output.concat(variables) ); - } - }, - invoke: function(query, context, passedArguments) { - var - maxDepth, - found - ; - passedArguments = passedArguments || [].slice.call( arguments, 2 ); - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found; - } - - }; - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // otherwise initialize - else { - if(instance) { - module.destroy(); - } - module.initialize(); - } - }) - ; - // chain or return queried method - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; - }; - - $.fn.popup.settings = { - - moduleName : 'Pop-up Module', - debug : true, - namespace : 'popup', - - onShow : function(){}, - onHide : function(){}, - - content : false, - html : false, - title : false, - - position : 'top center', - delay : 0, - inline : true, - - duration : 250, - easing : 'easeOutQuint', - animation : 'pop', - - errors: { - content : 'Warning: Your popup has no content specified', - method : 'The method you called is not defined.', - recursion : 'Popup attempted to reposition element to fit, but could not find an adequate position.' - }, - - distanceAway : 2, - arrowOffset : 0, - - maxRecursion : 10, - - event : 'hover', - clicktoClose : true, - - metadata: { - content : 'content', - html : 'html', - title : 'title', - position : 'position', - arrowOffset : 'arrowOffset' - }, - - className : { - popup : 'ui popup', - visible : 'visible', - loading : 'loading' - }, - - selector : { - popup : '.ui.popup' - }, - - template: function(text) { - var html = ''; - if(typeof text !== undefined) { - if(typeof text.title !== undefined && text.title) { - html += '

' + text.title + '

'; - } - if(typeof text.content !== undefined && text.content) { - html += '
' + text.content + '
'; - } - } - return html; - } - - }; - -})( jQuery, window , document ); \ No newline at end of file diff --git a/node/src/files/components/semantic/packaged/modules/search.js b/node/src/files/components/semantic/packaged/modules/search.js deleted file mode 100644 index 63e1da670..000000000 --- a/node/src/files/components/semantic/packaged/modules/search.js +++ /dev/null @@ -1,670 +0,0 @@ -/* ****************************** - Search Prompt - Author: Jack Lukic - Notes: First Commit July 19, 2012 - - Designed to be used as an autocomplete - or to deliver quick inline search results -****************************** */ - -;(function ($, window, document, undefined) { - -$.fn.searchPrompt = function(source, parameters) { - var - settings = $.extend(true, {}, $.fn.searchPrompt.settings, parameters), - // make arguments available - query = arguments[0], - passedArguments = [].slice.call(arguments, 1), - invokedResponse - ; - $(this) - .each(function() { - var - $module = $(this), - $searchPrompt = $module.find(settings.selector.searchPrompt), - $searchButton = $module.find(settings.selector.searchButton), - $searchResults = $module.find(settings.selector.searchResults), - $result = $module.find(settings.selector.result), - $category = $module.find(settings.selector.category), - $emptyResult = $module.find(settings.selector.emptyResult), - $resultPage = $module.find(settings.selector.resultPage), - - element = this, - selector = $module.selector || '', - instance = $module.data('module-' + settings.namespace), - methodInvoked = (instance !== undefined && typeof query == 'string'), - - className = settings.className, - namespace = settings.namespace, - errors = settings.errors, - module - ; - module = { - - initialize: function() { - var - searchPrompt = $searchPrompt[0], - inputEvent = (searchPrompt.oninput !== undefined) - ? 'input' - : (searchPrompt.onpropertychange !== undefined) - ? 'propertychange' - : 'keyup' - ; - // attach events - $searchPrompt - .on('focus.' + namespace, module.event.focus) - .on('blur.' + namespace, module.event.blur) - .on('keydown.' + namespace, module.handleKeyboard) - ; - if(settings.automatic) { - $searchPrompt - .on(inputEvent + '.' + namespace, module.search.throttle) - ; - } - $searchButton - .on('click.' + namespace, module.search.query) - ; - $searchResults - .on('click.' + namespace, settings.selector.result, module.results.select) - ; - $module - .data('module-' + namespace, module) - ; - }, - event: { - focus: function() { - $module - .addClass(className.focus) - ; - module.results.show(); - }, - blur: function() { - module.search.cancel(); - $module - .removeClass(className.focus) - ; - module.results.hide(); - } - }, - handleKeyboard: function(event) { - var - // force latest jq dom - $result = $module.find(settings.selector.result), - $category = $module.find(settings.selector.category), - keyCode = event.which, - keys = { - backspace : 8, - enter : 13, - escape : 27, - upArrow : 38, - downArrow : 40 - }, - activeClass = className.active, - currentIndex = $result.index( $result.filter('.' + activeClass) ), - resultSize = $result.size(), - newIndex - ; - // search shortcuts - if(keyCode == keys.escape) { - $searchPrompt - .trigger('blur') - ; - } - // result shortcuts - if($searchResults.filter(':visible').size() > 0) { - if(keyCode == keys.enter) { - if( $result.filter('.' + activeClass).exists() ) { - $.proxy(module.results.select, $result.filter('.' + activeClass) )(); - event.preventDefault(); - return false; - } - } - else if(keyCode == keys.upArrow) { - newIndex = (currentIndex - 1 < 0) - ? currentIndex - : currentIndex - 1 - ; - $category - .removeClass(activeClass) - ; - $result - .removeClass(activeClass) - .eq(newIndex) - .addClass(activeClass) - .closest($category) - .addClass(activeClass) - ; - event.preventDefault(); - } - else if(keyCode == keys.downArrow) { - newIndex = (currentIndex + 1 >= resultSize) - ? currentIndex - : currentIndex + 1 - ; - $category - .removeClass(activeClass) - ; - $result - .removeClass(activeClass) - .eq(newIndex) - .addClass(activeClass) - .closest($category) - .addClass(activeClass) - ; - event.preventDefault(); - } - } - else { - // query shortcuts - if(keyCode == keys.enter) { - module.search.query(); - $searchButton - .addClass(className.down) - ; - $searchPrompt - .one('keyup', function(){ - $searchButton - .removeClass(className.down) - ; - }) - ; - } - } - }, - search: { - cancel: function() { - var - xhr = $module.data('xhr') || false - ; - if( xhr && xhr.state() != 'resolved') { - xhr.abort(); - } - }, - throttle: function(event) { - var - searchTerm = $searchPrompt.val(), - numCharacters = searchTerm.length, - timer - ; - clearTimeout($module.data('timer')); - if(numCharacters >= settings.minCharacters) { - timer = setTimeout(module.search.query, settings.searchThrottle); - $module - .data('timer', timer) - ; - } - else { - module.results.hide(); - } - }, - query: function() { - var - searchTerm = $searchPrompt.val(), - cachedHTML = module.search.cache.read(searchTerm) - ; - if(cachedHTML) { - module.debug("Reading result for '" + searchTerm + "' from cache"); - module.results.add(cachedHTML); - } - else { - module.debug("Querying for '" + searchTerm + "'"); - if(typeof source == 'object') { - module.search.local(searchTerm); - } - else { - module.search.remote(searchTerm); - } - $.proxy(settings.onSearchQuery, $module)(searchTerm); - } - }, - local: function(searchTerm) { - var - searchResults = [], - fullTextResults = [], - searchFields = $.isArray(settings.searchFields) - ? settings.searchFields - : [settings.searchFields], - - searchRegExp = new RegExp('(?:\s|^)' + searchTerm, 'i'), - fullTextRegExp = new RegExp(searchTerm, 'i'), - searchHTML - ; - $module - .addClass(className.loading) - ; - // iterate through search fields in array order - $.each(searchFields, function(index, field) { - $.each(source, function(label, thing) { - if(typeof thing[field] == 'string' && ($.inArray(thing, searchResults) == -1) && ($.inArray(thing, fullTextResults) == -1) ) { - if( searchRegExp.test( thing[field] ) ) { - searchResults.push(thing); - } - else if( fullTextRegExp.test( thing[field] ) ) { - fullTextResults.push(thing); - } - } - }); - }); - searchHTML = module.results.generate({ - results: $.merge(searchResults, fullTextResults) - }); - $module - .removeClass(className.loading) - ; - module.search.cache.write(searchTerm, searchHTML); - module.results.add(searchHTML); - }, - remote: function(searchTerm) { - var - xhr = ($module.data('xhr') !== undefined) - ? $module.data('xhr') - : false, - apiSettings = { - stateContext : $module, - url : source, - urlData: { query: searchTerm }, - success : function(response) { - searchHTML = module.results.generate(response); - module.search.cache.write(searchTerm, searchHTML); - module.results.add(searchHTML); - }, - failure : module.error - }, - searchHTML - ; - // api attaches xhr event to context, use this to prevent overlapping queries - if( xhr && xhr.state() != 'resolved') { - xhr.abort(); - } - $.extend(true, apiSettings, settings.apiSettings); - $.api(apiSettings); - }, - - cache: { - read: function(name) { - var - cache = $module.data('cache') - ; - return (settings.cache && (typeof cache == 'object') && (cache[name] !== undefined) ) - ? cache[name] - : false - ; - }, - write: function(name, value) { - var - cache = ($module.data('cache') !== undefined) - ? $module.data('cache') - : {} - ; - cache[name] = value; - $module - .data('cache', cache) - ; - } - } - }, - - results: { - generate: function(response) { - module.debug('Generating html from response', response); - var - template = settings.templates[settings.type], - html = '' - ; - if(($.isPlainObject(response.results) && !$.isEmptyObject(response.results)) || ($.isArray(response.results) && response.results.length > 0) ) { - if(settings.maxResults > 0) { - response.results = $.makeArray(response.results).slice(0, settings.maxResults); - } - if(response.results.length > 0) { - if($.isFunction(template)) { - html = template(response); - } - else { - module.error(errors.noTemplate, false); - } - } - } - else { - html = module.message(errors.noResults, 'empty'); - } - $.proxy(settings.onSearchResults, $module)(response); - return html; - }, - add: function(html) { - if(settings.onResultsAdd == 'default' || $.proxy(settings.onResultsAdd, $searchResults)(html) == 'default') { - $searchResults - .html(html) - ; - } - module.results.show(); - }, - show: function() { - if( ($searchResults.filter(':visible').size() === 0) && ($searchPrompt.filter(':focus').size() > 0) && $searchResults.html() !== '') { - $searchResults - .stop() - .fadeIn(200) - ; - $.proxy(settings.onResultsOpen, $searchResults)(); - } - }, - hide: function() { - if($searchResults.filter(':visible').size() > 0) { - $searchResults - .stop() - .fadeOut(200) - ; - $.proxy(settings.onResultsClose, $searchResults)(); - } - }, - followLink: function() { - - }, - select: function(event) { - module.debug('Search result selected'); - var - $result = $(this), - $title = $result.find('.title'), - title = $title.html() - ; - if(settings.onSelect == 'default' || $.proxy(settings.onSelect, this)(event) == 'default') { - var - $link = $result.find('a[href]').eq(0), - href = $link.attr('href'), - target = $link.attr('target') - ; - try { - module.results.hide(); - $searchPrompt - .val(title) - ; - if(target == '_blank' || event.ctrlKey) { - window.open(href); - } - else { - window.location.href = (href); - } - } - catch(error) {} - } - } - }, - - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - // displays mesage visibly in search results - message: function(text, type) { - type = type || 'standard'; - module.results.add( settings.templates.message(text, type) ); - return settings.templates.message(text, type); - }, - // update view with error message - error: function(errorMessage, escalate) { - // show user error message - escalate = (escalate !== undefined) - ? escalate - : true - ; - console.warn(settings.moduleName + ': ' + errorMessage); - if(escalate && errorMessage !== undefined) { - module.message(errorMessage, 'error'); - } - }, - invoke: function(query, context, passedArguments) { - var - maxDepth, - found - ; - passedArguments = passedArguments || [].slice.call( arguments, 2 ); - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found; - } - }; - - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(query, element, passedArguments); - } - // otherwise initialize - else { - module.initialize(); - } - }) - ; - // chain or return queried method - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - - $.fn.searchPrompt.settings = { - - moduleName : 'Search Module', - debug : true, - namespace : 'search', - - // onSelect default action is defined in module - onSelect : 'default', - onResultsAdd : 'default', - - onSearchQuery : function(){}, - onSearchResults : function(response){}, - - onResultsOpen : function(){}, - onResultsClose : function(){}, - - automatic : 'true', - type : 'simple', - minCharacters : 3, - searchThrottle : 300, - maxResults : 7, - cache : true, - - searchFields : ['title', 'description'], - - // api config - apiSettings: { - - }, - - className: { - active : 'active', - down : 'down', - focus : 'focus', - empty : 'empty', - loading : 'loading' - }, - - errors : { - noResults : 'Your search returned no results', - logging : 'Error in debug logging, exiting.', - noTemplate : 'A valid template name was not specified.', - serverError : 'There was an issue with querying the server.', - method : 'The method you called is not defined.' - }, - - selector : { - searchPrompt : '.prompt', - searchButton : '.search.button', - searchResults : '.results', - - category : '.category', - result : '.result', - - emptyResult : '.results .message', - resultPage : '.results .page' - }, - - templates: { - message: function(message, type) { - var - html = '' - ; - if(message !== undefined && type !== undefined) { - html += '' - + '
' - + '
' - ; - // message type - if(type == 'empty') { - html += '' - + '

No Results

' - + '

' + message + '

' - ; - } - else { - html += '
' + message + '
'; - } - html += '
'; - } - return html; - }, - categories: function(response) { - var - html = '' - ; - if(response.results !== undefined) { - // each category - $.each(response.results, function(index, category) { - if(category.results !== undefined && category.results.length > 0) { - html += '' - + '
' - + '
' + category.name + '
' - + '
    ' - ; - // each item inside category - $.each(category.results, function(index, result) { - html += '
  • '; - html += ''; - if(result.image !== undefined) { - html+= '' - + '
    ' - + ' ' - + '
    ' - ; - } - html += (result.image !== undefined) - ? '
    ' - : '
    ' - ; - if(result.price !== undefined) { - html+= '
    ' + result.price + '
    '; - } - if(result.title !== undefined) { - html+= '
    ' + result.title + '
    '; - } - if(result.description !== undefined) { - html+= '
    ' + result.description + '
    '; - } - html += '' - + '
    ' - + '
  • ' - ; - }); - html += '' - + '
' - + '
' - ; - } - }); - if(response.resultPage) { - html += '' - + '' - + response.resultPage.text - + ''; - } - return html; - } - return false; - }, - simple: function(response) { - var - html = '' - ; - if(response.results !== undefined) { - html += '
    '; - // each result - $.each(response.results, function(index, result) { - html += '
  • '; - - if(result.url !== undefined) { - html += ''; - } - if(result.image !== undefined) { - html+= '' - + '
    ' - + ' ' - + '
    ' - ; - } - html += (result.image !== undefined) - ? '
    ' - : '
    ' - ; - if(result.price !== undefined) { - html+= '
    ' + result.price + '
    '; - } - if(result.title !== undefined) { - html+= '
    ' + result.title + '
    '; - } - if(result.description !== undefined) { - html+= '
    ' + result.description + '
    '; - } - html += '' - + '
    ' - + '
  • ' - ; - }); - html += '
'; - - if(response.resultPage) { - html += '' - + '' - + response.resultPage.text - + ''; - } - return html; - } - return false; - } - } - }; - -})( jQuery, window , document ); \ No newline at end of file diff --git a/node/src/files/components/semantic/packaged/modules/shape.js b/node/src/files/components/semantic/packaged/modules/shape.js deleted file mode 100644 index 0dc0b6913..000000000 --- a/node/src/files/components/semantic/packaged/modules/shape.js +++ /dev/null @@ -1,640 +0,0 @@ -/* ******************************************************************************************* - - Shape - A 3D Animation Plugin - Version 0.1 - (built using Semantic module spec) - - Author : Jack Lukic - Last revision : April 2013 - -********************************************************************************************* */ - -;(function ( $, window, document, undefined ) { - -$.fn.shape = function(parameters) { - var - $allModules = $(this), - - settings = $.extend(true, {}, $.fn.shape.settings, parameters), - - // define namespaces for modules - eventNamespace = '.' + settings.namespace, - moduleNamespace = 'module-' + settings.namespace, - - // allow methods to be queried directly - query = arguments[0], - queryArguments = [].slice.call(arguments, 1), - methodInvoked = (typeof query == 'string'), - invokedResponse - ; - - $allModules - .each(function() { - var - // selector cache - $module = $(this), - $shape = $module.find(settings.selector.shape), - $side = $module.find(settings.selector.side), - - // private variables - $activeSide, - $nextSide, - endTransition = 'transitionend msTransitionEnd oTransitionEnd', - - // standard module - selector = $module.selector || '', - element = this, - instance = $module.data(moduleNamespace), - - // internal aliases - namespace = settings.namespace, - error = settings.error, - className = settings.className, - - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing module for', element); - module.set.defaultSide(); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module for', element); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - }, - - refresh: function() { - module.verbose('Refreshing selector cache for', element); - $module = $(element); - $shape = $(this).find(settings.selector.shape); - $side = $(this).find(settings.selector.side); - }, - - repaint: function() { - module.verbose('Forcing repaint event'); - var - shape = $shape.get(0) || document.createElement('div'), - fakeAssignment = shape.offsetWidth - ; - }, - - animate: function(propertyObject, callback) { - module.verbose('Animating box with properties', propertyObject); - callback = callback || function(event) { - module.reset(); - module.set.active(); - $.proxy(settings.onChange, $nextSide)(); - event.stopImmediatePropagation(); - }; - if(settings.useCSS) { - module.verbose('Starting CSS animation'); - $module - .addClass(className.animating) - ; - module.set.stageSize(); - module.repaint(); - $module - .addClass(className.css) - ; - $activeSide - .addClass(className.hidden) - ; - $shape - .css(propertyObject) - .one(endTransition, callback) - ; - } - else { - // not yet supported until .animate() is extended to allow RotateX/Y - module.verbose('Starting javascript animation'); - $module - .addClass(className.animating) - .removeClass(className.css) - ; - module.set.stageSize(); - module.repaint(); - $activeSide - .animate({ - opacity: 0 - }, settings.duration, settings.easing) - ; - $shape - .animate(propertyObject, settings.duration, settings.easing, callback) - ; - } - }, - - queue: function(method) { - module.debug('Queueing animation of', method); - $shape - .one(endTransition, function() { - module.debug('Executing queued animation'); - $module.shape(method); - }) - ; - }, - - reset: function() { - module.verbose('Animating states reset'); - $module - .removeClass(className.css) - .removeClass(className.animating) - .removeAttr('style') - ; - $shape - .removeAttr('style') - ; - $side - .removeAttr('style') - .removeClass(className.hidden) - ; - $nextSide - .removeClass(className.animating) - .removeAttr('style') - ; - }, - - is: { - - animating: function() { - return $module.hasClass(className.animating); - } - - }, - - get: { - - nextSide: function() { - return ( $activeSide.next(settings.selector.side).size() > 0 ) - ? $activeSide.next(settings.selector.side) - : $module.find(settings.selector.side).first() - ; - } - - }, - - set: { - - defaultSide: function() { - $activeSide = $module.find('.' + settings.className.active); - $nextSide = ( $activeSide.next(settings.selector.side).size() > 0 ) - ? $activeSide.next(settings.selector.side) - : $module.find(settings.selector.side).first() - ; - module.verbose('Active side set to', $activeSide); - module.verbose('Next side set to', $nextSide); - }, - - stageSize: function() { - var - stage = { - width : $nextSide.outerWidth(), - height : $nextSide.outerHeight() - } - ; - module.verbose('Resizing stage to fit new content', stage); - $module - .css({ - width : stage.width, - height : stage.height - }) - ; - }, - - nextSide: function(selector) { - $nextSide = $module.find(selector); - if($nextSide.size() === 0) { - module.error(error.side); - } - module.verbose('Next side manually set to', $nextSide); - }, - - active: function() { - module.verbose('Setting new side to active', $nextSide); - $side - .removeClass(className.active) - ; - $nextSide - .addClass(className.active) - ; - module.set.defaultSide(); - } - }, - - flip: { - - up: function() { - module.debug('Flipping up', $nextSide); - if( !module.is.animating() ) { - module.stage.above(); - module.animate( module.getTransform.up() ); - } - else { - module.queue('flip.up'); - } - }, - - down: function() { - module.debug('Flipping down', $nextSide); - if( !module.is.animating() ) { - module.stage.below(); - module.animate( module.getTransform.down() ); - } - else { - module.queue('flip.down'); - } - }, - - left: function() { - module.debug('Flipping left', $nextSide); - if( !module.is.animating() ) { - module.stage.left(); - module.animate(module.getTransform.left() ); - } - else { - module.queue('flip.left'); - } - }, - - right: function() { - module.debug('Flipping right', $nextSide); - if( !module.is.animating() ) { - module.stage.right(); - module.animate(module.getTransform.right() ); - } - else { - module.queue('flip.right'); - } - }, - - over: function() { - module.debug('Flipping over', $nextSide); - if( !module.is.animating() ) { - module.stage.behind(); - module.animate(module.getTransform.behind() ); - } - else { - module.queue('flip.over'); - } - } - - }, - - getTransform: { - - up: function() { - var - translate = { - y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - z: -($activeSide.outerHeight() / 2) - } - ; - return { - transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)' - }; - }, - - down: function() { - var - translate = { - y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - z: -($activeSide.outerHeight() / 2) - } - ; - return { - transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)' - }; - }, - - left: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2), - z : -($activeSide.outerWidth() / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)' - }; - }, - - right: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2), - z : -($activeSide.outerWidth() / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)' - }; - }, - - behind: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) rotateY(180deg)' - }; - } - - }, - - stage: { - - above: function() { - var - box = { - origin : (($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - depth : { - active : ($nextSide.outerHeight() / 2), - next : ($activeSide.outerHeight() / 2) - } - } - ; - module.verbose('Setting the initial animation position as above', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'top' : box.origin + 'px', - 'transform' : 'rotateX(90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - below: function() { - var - box = { - origin : (($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - depth : { - active : ($nextSide.outerHeight() / 2), - next : ($activeSide.outerHeight() / 2) - } - } - ; - module.verbose('Setting the initial animation position as below', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'top' : box.origin + 'px', - 'transform' : 'rotateX(-90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - left: function() { - var - box = { - origin : ( ( $activeSide.outerWidth() - $nextSide.outerWidth() ) / 2), - depth : { - active : ($nextSide.outerWidth() / 2), - next : ($activeSide.outerWidth() / 2) - } - } - ; - module.verbose('Setting the initial animation position as left', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'left' : box.origin + 'px', - 'transform' : 'rotateY(-90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - right: function() { - var - box = { - origin : ( ( $activeSide.outerWidth() - $nextSide.outerWidth() ) / 2), - depth : { - active : ($nextSide.outerWidth() / 2), - next : ($activeSide.outerWidth() / 2) - } - } - ; - module.verbose('Setting the initial animation position as left', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'left' : box.origin + 'px', - 'transform' : 'rotateY(90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - behind: function() { - var - box = { - origin : ( ( $activeSide.outerWidth() - $nextSide.outerWidth() ) / 2), - depth : { - active : ($nextSide.outerWidth() / 2), - next : ($activeSide.outerWidth() / 2) - } - } - ; - module.verbose('Setting the initial animation position as behind', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'left' : box.origin + 'px', - 'transform' : 'rotateY(-180deg)' - }) - ; - } - }, - - /* standard module */ - setting: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value === undefined) { - return settings[name]; - } - else { - settings[name] = value; - } - }, - - verbose: function() { - if(settings.verbose) { - module.debug.apply(this, arguments); - } - }, - - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - - error: function() { - var - output = [], - errorMessage = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.warn || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(errorMessage); - output.concat(variables); - log.apply(console, output.concat(variables) ); - } - }, - - invoke: function(query, passedArguments, context) { - var - maxDepth, - found - ; - passedArguments = passedArguments || queryArguments || [].slice.call( arguments, 2 ); - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(error.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - module.verbose('Executing invoked function', found); - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found || false; - } - }; - - // check for invoking internal method - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - invokedResponse = module.invoke(query); - } - // otherwise initialize - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - // chain or return queried method - return (invokedResponse) - ? invokedResponse - : this - ; -}; - -$.fn.shape.settings = { - - // module info - moduleName : 'Shape Module', - - // debug content outputted to console - debug : true, - - // verbose debug output - verbose : true, - - // event namespace - namespace : 'shape', - - // callback occurs on side change - beforeChange : function() {}, - onChange : function() {}, - - // use css animation (currently only true is supported) - useCSS : true, - - // animation duration (useful only with future js animations) - duration : 1000, - easing : 'easeInOutQuad', - - // possible errors - error: { - side : 'You tried to switch to a side that does not exist.', - method : 'The method you called is not defined' - }, - - // classnames used - className : { - css : 'css', - animating : 'animating', - hidden : 'hidden', - active : 'active' - }, - - // selectors used - selector : { - shape : '.shape', - side : '.side' - } - -}; - - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/packaged/modules/star.js b/node/src/files/components/semantic/packaged/modules/star.js deleted file mode 100644 index e394ce5fc..000000000 --- a/node/src/files/components/semantic/packaged/modules/star.js +++ /dev/null @@ -1,180 +0,0 @@ -/* ****************************** - Star Review - Author: Jack Lukic - Notes: First Commit Sep 04, 2012 - - Simple rating module -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.starReview = function(parameters) { - var - settings = $.extend(true, {}, $.fn.starReview.settings, parameters), - // hoist arguments - moduleArguments = arguments || false - ; - $(this) - .each(function() { - var - $module = $(this), - $star = $module.find(settings.selector.star), - - className = settings.className, - namespace = settings.namespace, - instance = $module.data('module'), - module - ; - - module = { - - settings: settings, - - initialize: function() { - if(settings.rateable) { - // expandable with states - if($.fn.state !== undefined) { - $module - .state() - ; - $star - .state() - ; - } - $star - .bind('mouseenter.' + namespace, module.event.mouseenter) - .bind('mouseleave.' + namespace, module.event.mouseleave) - .bind('click.' + namespace, module.event.click) - ; - } - $module - .addClass(className.initialize) - .data('module', module) - ; - }, - - setRating: function(rating) { - var - $activeStar = $star.eq(rating - 1) - ; - $module - .removeClass(className.hover) - ; - $star - .removeClass(className.hover) - ; - $activeStar - .nextAll() - .removeClass(className.active) - ; - $activeStar - .addClass(className.active) - .prevAll() - .addClass(className.active) - ; - $.proxy(settings.onRate, $module)(); - }, - - event: { - mouseenter: function() { - var - $activeStar = $(this) - ; - $activeStar - .nextAll() - .removeClass(className.hover) - ; - $module - .addClass(className.hover) - ; - $activeStar - .addClass(className.hover) - .prevAll() - .addClass(className.hover) - ; - }, - mouseleave: function() { - $star - .removeClass(className.hover) - ; - }, - click: function() { - var - $activeStar = $(this) - ; - module.setRating( $star.index($activeStar) + 1); - } - }, - - // handle error logging - error: function(errorMessage) { - console.warn(settings.moduleName + ': ' + errorMessage); - }, - - // allows for dot notation method calls - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - return ( $.isFunction( method ) ) - ? method.apply(context, methodArguments) - : false - ; - } - - }; - - if(instance !== undefined && moduleArguments) { - // simpler than invoke realizing to invoke itself (and losing scope due prototype.call() - if(moduleArguments[0] == 'invoke') { - moduleArguments = Array.prototype.slice.call( moduleArguments, 1 ); - } - return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // initializing - module.initialize(); - }) - ; - - return this; - }; - - $.fn.starReview.settings = { - - moduleName : 'Star Module', - namespace : 'star', - - rateable : true, - onRate : function(){}, - - className : { - initialize : 'initialize', - loading : 'loading', - active : 'active', - hover : 'hover', - down : 'down' - }, - - selector : { - star : 'i' - } - - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/packaged/modules/tab.js b/node/src/files/components/semantic/packaged/modules/tab.js deleted file mode 100644 index 6506548b3..000000000 --- a/node/src/files/components/semantic/packaged/modules/tab.js +++ /dev/null @@ -1,523 +0,0 @@ -/* ****************************** - Module - Simple Tab Navigation - Author: Jack Lukic - Notes: First Commit Aug 15, 2012 - - History based tab navigation -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.tabNavigation = function(parameters) { - - var - settings = $.extend(true, {}, $.fn.tabNavigation.settings, parameters), - - $tabNavigation = $(this), - $tabs = $(settings.context).find(settings.selector.tabs), - - firstLoad = true, - cache = {}, - recursionDepth = 0, - - activeTabPath, - parameterArray, - historyEvent, - - className = settings.className, - metadata = settings.metadata, - namespace = settings.namespace, - errors = settings.errors, - - instance = $tabNavigation.data('module'), - - query = arguments[0], - methodInvoked = (instance !== undefined && typeof query == 'string'), - passedArguments = [].slice.call(arguments, 1), - - module, - invokedResponse - ; - - module = { - - initialize: function() { - module.debug('Initializing Tabs', $tabNavigation); - // attach history events - if(settings.history && settings.path !== false) { - if( $.address !== undefined ) { - module.verbose('Address library found adding state change event'); - $.address - .state(settings.path) - .change(module.event.history.change) - ; - } - else { - module.error(errors.state); - } - } - // attach events if navigation wasn't set to window - if( !$.isWindow( $tabNavigation.get(0) ) ) { - $tabNavigation - .on('click.' + namespace, module.event.click) - ; - } - $tabNavigation - .data('module', module) - ; - }, - - destroy: function() { - module.debug('Destroying tabs', $tabNavigation); - $tabNavigation - .off('.' + namespace) - ; - }, - - event: { - click: function() { - module.debug('Navigation clicked'); - var - tabPath = $(this).data(metadata.tab) - ; - if(tabPath !== undefined) { - if(tabPath !== activeTabPath) { - if(settings.history) { - $.address.value(tabPath); - } - else { - module.change(tabPath); - } - } - } - else { - module.debug('No tab specified'); - } - }, - history: { - change: function(event) { - var - tabPath = event.pathNames.join('/') || module.get.initialPath(), - pageTitle = settings.templates.determineTitle(tabPath) || false - ; - module.debug('History change event', tabPath, event); - historyEvent = event; - if(tabPath !== undefined) { - module.change(tabPath); - } - if(pageTitle) { - $.address.title(pageTitle); - } - } - } - }, - - refresh: function() { - if(activeTabPath) { - module.debug('Refreshing tab', activeTabPath); - module.change(activeTabPath); - } - }, - - cache: { - read: function(tabPath) { - return (tabPath !== undefined) - ? cache[tabPath] - : cache - ; - }, - add: function(tabPath, content) { - tabPath = tabPath || activeTabPath; - module.debug('Adding cached content for', tabPath); - cache[tabPath] = content; - }, - remove: function(tabPath) { - tabPath = tabPath || activeTabPath; - module.debug('Removing cached content for', tabPath); - delete cache[tabPath]; - } - }, - - change: function(tabPath) { - var - pathArray = module.get.defaultPathArray(tabPath) - ; - module.deactivate.all(); - $.each(pathArray, function(index, tab) { - var - currentPathArray = pathArray.slice(0, index + 1), - currentPath = module.utils.arrayToPath(currentPathArray), - - isLastTab = (module.utils.last(pathArray) == currentPath), - isTab = module.is.tab(currentPath), - isParam = !(isTab), - - pushStateAvailable = (window.history && window.history.pushState), - shouldIgnoreLoad = (pushStateAvailable && settings.ignoreFirstLoad && firstLoad), - remoteContent = $.isPlainObject(settings.apiSettings), - - $tab = module.get.tabElement(currentPath) - ; - module.verbose('Looking for tab', tab); - if(isParam) { - module.verbose('Tab is not found, assuming it is a parameter', tab); - return true; - } - else if(isTab) { - // scope up - module.verbose('Tab was found', tab); - activeTabPath = currentPath; - parameterArray = module.utils.filterArray(pathArray, currentPathArray); - if(isLastTab && remoteContent) { - if(!shouldIgnoreLoad) { - module.activate.navigation(currentPath); - module.content.fetch(currentPath, settings.onTabLoad); - } - else { - module.debug('Ignoring remote content on first tab load', currentPath); - firstLoad = false; - cache[tabPath] = $tab.html(); - module.activate.all(currentPath); - $.proxy(settings.onTabInit, $tab)(currentPath, parameterArray, historyEvent); - } - } - else { - module.debug('Opened tab', currentPath); - module.activate.all(currentPath); - $.proxy(settings.onTabLoad, $tab)(currentPath, parameterArray, historyEvent); - } - - } - }); - }, - - content: { - - fetch: function(tabPath) { - var - $tab = module.get.tabElement(tabPath), - cachedContent = cache[tabPath] || false, - apiSettings = { - dataType : 'html', - stateContext : $tab, - success : function(response) { - cache[tabPath] = response; - module.content.update(tabPath, response); - if(tabPath == activeTabPath) { - module.debug('Content loaded', tabPath); - module.activate.tab(tabPath); - } - else { - module.debug('Content loaded in background', tabPath); - } - $.proxy(settings.onTabInit, $tab)(tabPath, parameterArray, historyEvent); - }, - urlData: { tab: tabPath } - }, - request = $tab.data(metadata.promise) || false, - existingRequest = ( request && request.state() === 'pending' ) - ; - if(settings.cache && cachedContent) { - module.debug('Showing existing content', tabPath); - // module.content.update(tabPath, cachedContent); - module.activate.tab(tabPath); - $.proxy(settings.onTabLoad, $tab)(tabPath, parameterArray, historyEvent); - } - else if(existingRequest) { - module.debug('Content is already loading', tabPath); - $tab - .addClass(className.loading) - ; - } - else if($.api !== undefined) { - module.debug('Retrieving content', tabPath); - $.api( $.extend(true, {}, settings.apiSettings, apiSettings) ); - } - else { - module.error(errors.api); - } - }, - - update: function(tabPath, html) { - module.debug('Updating html for', tabPath); - var - $tab = module.get.tabElement(tabPath) - ; - $tab - .html(html) - ; - } - }, - - activate: { - all: function(tabPath) { - module.activate.tab(tabPath); - module.activate.navigation(tabPath); - }, - tab: function(tabPath) { - var - $tab = module.get.tabElement(tabPath) - ; - module.verbose('Showing tab content for', $tab); - $tab.addClass(className.active); - }, - navigation: function(tabPath) { - var - $nav = module.get.navElement(tabPath) - ; - module.verbose('Activating tab navigation for', $nav); - $nav.addClass(className.active); - } - }, - - deactivate: { - all: function() { - module.deactivate.navigation(); - module.deactivate.tabs(); - }, - navigation: function() { - $tabNavigation - .removeClass(className.active) - ; - }, - tabs: function() { - $tabs - .removeClass(className.active + ' ' + className.loading) - ; - } - }, - - is: { - tab: function(tabName) { - return ( module.get.tabElement(tabName).size() > 0 ); - } - }, - - get: { - initialPath: function() { - return $tabNavigation.eq(0).data(metadata.tab) || $tabs.eq(0).data(metadata.tab); - }, - // adds default tabs to tab path - defaultPathArray: function(tabPath) { - return module.utils.pathToArray( module.get.defaultPath(tabPath) ); - }, - defaultPath: function(tabPath) { - var - $defaultNav = $tabNavigation.filter('[data-' + metadata.tab + '^="' + tabPath + '/"]').eq(0), - defaultTab = $defaultNav.data(metadata.tab) || false - ; - if( defaultTab ) { - module.debug('Found default tab', defaultTab); - if(recursionDepth < settings.maxDepth) { - recursionDepth++; - return module.get.defaultPath(defaultTab); - } - module.error(errors.recursion); - } - recursionDepth = 0; - return tabPath; - }, - navElement: function(tabPath) { - tabPath = tabPath || activeTabPath; - return $tabNavigation.filter('[data-' + metadata.tab + '="' + tabPath + '"]'); - }, - tabElement: function(tabPath) { - var - $fullPathTab, - $simplePathTab, - tabPathArray, - lastTab - ; - tabPath = tabPath || activeTabPath; - tabPathArray = module.utils.pathToArray(tabPath); - lastTab = module.utils.last(tabPathArray); - $fullPathTab = $tabs.filter('[data-' + metadata.tab + '="' + lastTab + '"]'); - $simplePathTab = $tabs.filter('[data-' + metadata.tab + '="' + tabPath + '"]'); - return ($fullPathTab.size() > 0) - ? $fullPathTab - : $simplePathTab - ; - }, - tab: function() { - return activeTabPath; - } - }, - - utils: { - filterArray: function(keepArray, removeArray) { - return $.grep(keepArray, function(keepValue) { - return ( $.inArray(keepValue, removeArray) == -1); - }); - }, - last: function(array) { - return $.isArray(array) - ? array[ array.length - 1] - : false - ; - }, - pathToArray: function(pathName) { - if(pathName === undefined) { - pathName = activeTabPath; - } - return typeof pathName == 'string' - ? pathName.split('/') - : [pathName] - ; - }, - arrayToPath: function(pathArray) { - return $.isArray(pathArray) - ? pathArray.join('/') - : false - ; - } - }, - - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - verbose: function() { - if(settings.verbose) { - module.debug.apply(this, arguments); - } - }, - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - error: function() { - var - output = [], - errorMessage = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.warn || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(errorMessage); - output.concat(variables); - log.apply(console, output.concat(variables)); - } - }, - invoke: function(query, context, passedArguments) { - var - maxDepth, - found - ; - passedArguments = passedArguments || [].slice.call( arguments, 2 ); - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found; - } - }; - - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(query, this, passedArguments); - } - // otherwise initialize - else { - module.initialize(); - } - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; - - }; - - // shortcut for tabbed content with no defined navigation - $.tabNavigation = function(settings) { - $(window).tabNavigation(settings); - }; - - $.fn.tabNavigation.settings = { - - moduleName : 'Tab Module', - verbose : false, - debug : true, - namespace : 'tab', - - // only called first time a tab's content is loaded (when remote source) - onTabInit : function(tabPath, parameterArray, historyEvent) {}, - // called on every load - onTabLoad : function(tabPath, parameterArray, historyEvent) {}, - - templates: { - determineTitle: function(tabArray) {} - }, - - history : false, - path : false, - - context : 'body', - - // max depth a tab can be nested - maxDepth : 25, - // dont load content on first load - ignoreFirstLoad : true, - // load tab content new every tab click - alwaysRefresh : false, - // cache the content requests to pull locally - cache : true, - // settings for api call - apiSettings : false, - - errors: { - api : 'You attempted to load content without API module', - noContent : 'The tab you specified is missing a content url.', - method : 'The method you called is not defined', - state : 'The state library has not been initialized', - missingTab : 'Missing tab: ', - recursion : 'Max recursive depth reached' - }, - - metadata : { - tab : 'tab', - loaded : 'loaded', - promise: 'promise' - }, - - className : { - loading : 'loading', - active : 'active' - }, - - selector : { - tabs : '.tab' - } - - }; - -})( jQuery, window , document ); \ No newline at end of file diff --git a/node/src/files/components/semantic/packaged/modules/video.js b/node/src/files/components/semantic/packaged/modules/video.js deleted file mode 100644 index 8dd11a6d0..000000000 --- a/node/src/files/components/semantic/packaged/modules/video.js +++ /dev/null @@ -1,391 +0,0 @@ -/* ****************************** - Module - Video Component - Author: Jack Lukic - Notes: First Commit June 30, 2012 - - This is a video playlist and video embed plugin which helps - provide helpers for adding embed code for vimeo and youtube and - abstracting event handlers for each library - -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.video = function(parameters) { - - var - settings = $.extend(true, {}, $.fn.video.settings, parameters), - // make arguments available - moduleArguments = arguments || false, - invokedResponse - ; - - $(this) - .each(function() { - var - $module = $(this), - $placeholder = $module.find(settings.selector.placeholder), - $playButton = $module.find(settings.selector.playButton), - $embed = $module.find(settings.selector.embed), - - element = this, - instance = $module.data('module-' + settings.namespace), - methodInvoked = (typeof parameters == 'string'), - - namespace = settings.namespace, - metadata = settings.metadata, - className = settings.className, - - module - ; - - module = { - - initialize: function() { - module.debug('Initializing video'); - $placeholder - .off('.video') - .on('click.' + namespace, module.play) - ; - $playButton - .off('.video') - .on('click.' + namespace, module.play) - ; - $module - .data('module-' + namespace, module) - ; - }, - - // sets new video - change: function(source, flv) { - module.debug('Changing video to ', flv); - $module - .data(metadata.source, source) - .data(metadata.flv, flv) - ; - settings.onChange(); - }, - - // clears video embed - reset: function() { - module.debug('Clearing video embed and showing placeholder'); - $module - .removeClass(className.active) - ; - $embed - .html(' ') - ; - $placeholder - .show() - ; - settings.onReset(); - }, - - // plays current video - play: function() { - module.debug('Playing video'); - var - source = $module.data(metadata.source), - flv = $module.data(metadata.flv) - ; - $embed - .html( module.generate.html(source, flv) ) - ; - $module - .addClass(className.active) - ; - settings.onPlay(); - }, - - generate: { - // generates iframe html - html: function(source, flv) { - module.debug('Generating embed html'); - var - width = (settings.width == 'auto') - ? $module.width() - : settings.width, - height = (settings.height == 'auto') - ? $module.height() - : settings.height, - html - ; - if(source == 'vimeo') { - html = '' - + '' - ; - } - else if(source == 'youtube') { - html = '' - + '' - ; - } - return html; - }, - - // generate url parameters - url: function(source) { - var - api = (settings.api) - ? 1 - : 0, - autoplay = (settings.autoplay) - ? 1 - : 0, - hd = (settings.hd) - ? 1 - : 0, - showUI = (settings.showUI) - ? 1 - : 0, - // opposite used for some params - hideUI = !(settings.showUI) - ? 1 - : 0, - url = '' - ; - if(source == 'vimeo') { - url = '' - + 'api=' + api - + '&title=' + showUI - + '&byline=' + showUI - + '&portrait=' + showUI - + '&autoplay=' + autoplay - ; - if(settings.color) { - url += '&color=' + settings.color; - } - } - else if(source == 'youtube') { - url = '' - + 'enablejsapi=' + api - + '&autoplay=' + autoplay - + '&autohide=' + hideUI - + '&hq=' + hd - + '&modestbranding=1' - ; - if(settings.color) { - url += '&color=' + settings.color; - } - } - return url; - } - }, - - /* standard module */ - debug: function(message, variableName) { - if(settings.debug) { - if(variableName !== undefined) { - console.info(settings.moduleName + ': ' + message, variableName); - } - else { - console.info(settings.moduleName + ': ' + message); - } - } - }, - error: function(errorMessage) { - console.warn(settings.moduleName + ': ' + errorMessage); - }, - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( method ) ) { - return method.apply(context, methodArguments); - } - // return retrieved variable or chain - return method; - } - }; - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // otherwise initialize - else { - if(instance) { - module.destroy(); - } - module.initialize(); - } - - }) - ; - // chain or return queried method - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; - }; - - - $.fn.videoPlaylist = function(video, parameters) { - var - $allModules = $(this), - $video = $(video), - $iframe = $video.find('.embed iframe'), - - settings = $.extend({}, $.fn.videoPlaylist.settings, parameters, true) - ; - $allModules - .each(function() { - var - $element = $(this), - - metadata = settings.metadata, - namespace = settings.namespace, - className = settings.className, - - module = { - initialize: function() { - $element - .on('click.' + namespace , module.changeVideo) - ; - }, - changeVideo: function() { - var - flv = $element.data(metadata.flv) || false, - source = $element.data(metadata.source) || false, - placeholder = $element.data(metadata.placeholder) || false - ; - if(flv && source) { - $video - .data(metadata.source, source) - .data(metadata.flv, flv) - ; - if(settings.showPlaceholder) { - $video - .removeClass(className.active) - .find($.fn.video.selector.placeholder) - .attr('src', placeholder) - ; - } - else { - try { - $video - .video('play') - ; - } - catch(error) { - console.warn('Video Playlist Module: ' + settings.error.init); - } - } - $allModules - .removeClass(className.active) - ; - $element - .addClass(className.active) - ; - } - } - } - ; - module.initialize(); - }) - ; - - if(settings.playFirst) { - $allModules - .eq(0) - .trigger('click') - ; - // we all like a good hack - if($iframe.size() > 0) { - $iframe - .attr('src', $iframe.attr('src').replace('autoplay=1', 'autoplay=0') ) - ; - } - - } - - }; - - $.fn.video.settings = { - - moduleName : 'Video', - namespace : 'video', - debug : false, - - metadata : { - source : 'source', - flv : 'flv' - }, - - onPlay : function(){}, - onReset : function(){}, - onChange : function(){}, - - // callbacks not coded yet (needs to use jsapi) - play : function() {}, - pause : function() {}, - stop : function() {}, - - width : 'auto', - height : 'auto', - - autoplay : false, - color : '#442359', - hd : true, - showUI : false, - api : true, - - errors : { - method : 'The method you called is not defined' - }, - - className : { - active : 'active' - }, - - selector : { - embed : '.embed', - placeholder : '.placeholder', - playButton : '.play' - } - }; - - $.fn.videoPlaylist.settings = { - moduleName : 'Video Playlist', - namespace : 'videoPlaylist', - - source : 'vimeo', - showPlaceholder : false, - playFirst : true, - - metadata: { - flv : 'flv', - source : 'source', - placeholder : 'placeholder' - }, - - errors: { - init : 'The video player you specified was not yet initialized' - }, - - className : { - active : 'active' - } - - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/packaged/semantic.min.css.REMOVED.git-id b/node/src/files/components/semantic/packaged/semantic.min.css.REMOVED.git-id deleted file mode 100644 index 8f88ec159..000000000 --- a/node/src/files/components/semantic/packaged/semantic.min.css.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -a7e474c128bb27e8311776824353f60fcaa73ac7 \ No newline at end of file diff --git a/node/src/files/components/semantic/packaged/semantic.min.js.REMOVED.git-id b/node/src/files/components/semantic/packaged/semantic.min.js.REMOVED.git-id deleted file mode 100644 index 2b696d9b9..000000000 --- a/node/src/files/components/semantic/packaged/semantic.min.js.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -0f07dbd48e46e923a00189bae39db59576075359 \ No newline at end of file diff --git a/node/src/files/components/semantic/uncompressed/fonts/icons.eot.REMOVED.git-id b/node/src/files/components/semantic/uncompressed/fonts/icons.eot.REMOVED.git-id deleted file mode 100644 index 2776fbe5d..000000000 --- a/node/src/files/components/semantic/uncompressed/fonts/icons.eot.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -25066de069a62374b39f220581d1314fa60a5f45 \ No newline at end of file diff --git a/node/src/files/components/semantic/uncompressed/fonts/icons.svg.REMOVED.git-id b/node/src/files/components/semantic/uncompressed/fonts/icons.svg.REMOVED.git-id deleted file mode 100644 index fbf9c2439..000000000 --- a/node/src/files/components/semantic/uncompressed/fonts/icons.svg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -b9c54d022b2628b920f09afd4cb10d4dc0ce0d17 \ No newline at end of file diff --git a/node/src/files/components/semantic/uncompressed/fonts/icons.ttf.REMOVED.git-id b/node/src/files/components/semantic/uncompressed/fonts/icons.ttf.REMOVED.git-id deleted file mode 100644 index f8d220df0..000000000 --- a/node/src/files/components/semantic/uncompressed/fonts/icons.ttf.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -318a2643d3af55fe51b472e7769b99caf74ff7b0 \ No newline at end of file diff --git a/node/src/files/components/semantic/uncompressed/fonts/icons.woff b/node/src/files/components/semantic/uncompressed/fonts/icons.woff deleted file mode 100644 index baba1b5eb..000000000 Binary files a/node/src/files/components/semantic/uncompressed/fonts/icons.woff and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/button-error.gif b/node/src/files/components/semantic/uncompressed/images/button-error.gif deleted file mode 100644 index 0615c1626..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/button-error.gif and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/footnote.png b/node/src/files/components/semantic/uncompressed/images/footnote.png deleted file mode 100644 index c13a1f233..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/footnote.png and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/loader-generic-transparent.gif b/node/src/files/components/semantic/uncompressed/images/loader-generic-transparent.gif deleted file mode 100644 index 74c9d63f3..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/loader-generic-transparent.gif and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/notecard-stripes.png b/node/src/files/components/semantic/uncompressed/images/notecard-stripes.png deleted file mode 100644 index 57b1c37a7..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/notecard-stripes.png and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/paperclip.png b/node/src/files/components/semantic/uncompressed/images/paperclip.png deleted file mode 100644 index 82edf737d..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/paperclip.png and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/placeholder-subtle.png b/node/src/files/components/semantic/uncompressed/images/placeholder-subtle.png deleted file mode 100644 index a69787855..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/placeholder-subtle.png and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/placeholder-tiny.png b/node/src/files/components/semantic/uncompressed/images/placeholder-tiny.png deleted file mode 100644 index e936460e6..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/placeholder-tiny.png and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/placeholder.png b/node/src/files/components/semantic/uncompressed/images/placeholder.png deleted file mode 100644 index b635fa2ce..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/placeholder.png and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/throbber-blue-large.gif b/node/src/files/components/semantic/uncompressed/images/throbber-blue-large.gif deleted file mode 100644 index d0ac895ea..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/throbber-blue-large.gif and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/throbber-blue-medium.gif b/node/src/files/components/semantic/uncompressed/images/throbber-blue-medium.gif deleted file mode 100644 index 89dfc9137..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/throbber-blue-medium.gif and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/throbber-blue-small.gif b/node/src/files/components/semantic/uncompressed/images/throbber-blue-small.gif deleted file mode 100644 index 5ebe9a217..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/throbber-blue-small.gif and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/throbber-blue-tiny.gif b/node/src/files/components/semantic/uncompressed/images/throbber-blue-tiny.gif deleted file mode 100644 index 43475d481..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/throbber-blue-tiny.gif and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/throbber-large.gif b/node/src/files/components/semantic/uncompressed/images/throbber-large.gif deleted file mode 100644 index 519621ccd..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/throbber-large.gif and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/throbber-medium-white.gif b/node/src/files/components/semantic/uncompressed/images/throbber-medium-white.gif deleted file mode 100644 index 010e29eae..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/throbber-medium-white.gif and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/throbber-medium.gif b/node/src/files/components/semantic/uncompressed/images/throbber-medium.gif deleted file mode 100644 index ae34460f9..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/throbber-medium.gif and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/throbber-small.gif b/node/src/files/components/semantic/uncompressed/images/throbber-small.gif deleted file mode 100644 index d9a6760a4..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/throbber-small.gif and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/images/throbber-tiny.gif b/node/src/files/components/semantic/uncompressed/images/throbber-tiny.gif deleted file mode 100644 index c65ee55fd..000000000 Binary files a/node/src/files/components/semantic/uncompressed/images/throbber-tiny.gif and /dev/null differ diff --git a/node/src/files/components/semantic/uncompressed/modules/accordion.js b/node/src/files/components/semantic/uncompressed/modules/accordion.js deleted file mode 100644 index 0003c3012..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/accordion.js +++ /dev/null @@ -1,196 +0,0 @@ -/* ****************************** - Accordion - Author: Jack Lukic - Notes: First Commit July 19, 2012 - - Simple accordion design -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.accordion = function(parameters) { - var - settings = $.extend(true, {}, $.fn.accordion.settings, parameters), - // hoist arguments - moduleArguments = arguments || false - ; - $(this) - .each(function() { - - var - $module = $(this), - $title = $module.find(settings.selector.title), - $icon = $module.find(settings.selector.icon), - $content = $module.find(settings.selector.content), - - instance = $module.data('module'), - className = settings.className, - module - ; - - module = { - - initialize: function() { - // initializing - $title - .on('click', module.change) - ; - $module - .data('module', module) - ; - }, - - change: function() { - var - $activeTitle = $(this), - $activeContent = $activeTitle.next($content), - contentIsOpen = $activeTitle.hasClass(className.active) - ; - if(contentIsOpen) { - if(settings.collapsible) { - $.proxy(module.close, $activeTitle)(); - } - } - else { - $.proxy(module.open, $activeTitle)(); - } - }, - - open: function() { - var - $activeTitle = $(this), - $activeContent = $activeTitle.next($content), - $currentTitle = $title.filter('.' + className.active), - $currentContent = $currentTitle.next($title) - ; - if(settings.exclusive && $currentTitle.size() > 0) { - - $currentTitle - .removeClass('active') - ; - $currentContent - .stop() - .slideUp(settings.speed , settings.easing, function() { - $(this) - .removeClass('active') - .removeAttr('style') - ; - }) - ; - } - $activeTitle - .addClass(className.active) - ; - $activeContent - .hide() - .addClass(className.active) - .stop() - .slideDown(settings.speed, settings.easing, function() { - $(this) - .removeAttr('style') - ; - }) - ; - }, - - close: function() { - var - $activeTitle = $(this), - $activeContent = $activeTitle.next($content) - ; - $activeTitle - .removeClass(className.active) - ; - $activeContent - .removeClass(className.active) - .show() - .stop() - .slideUp(settings.speed, settings.easing, function(){ - $(this) - .removeAttr('style') - ; - }) - ; - }, - - debug: function(message) { - if(settings.debug) { - console.info(settings.moduleName + ': ' + message); - } - }, - error: function(errorMessage) { - console.warn(settings.moduleName + ': ' + errorMessage); - }, - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( method ) ) { - return method.apply(context, methodArguments); - } - // return retrieved variable or chain - return method; - } - - }; - - // calling a method - if(instance !== undefined && moduleArguments) { - // simpler than invoke realizing to invoke itself (and losing scope due prototype.call() - if(moduleArguments[0] == 'invoke') { - moduleArguments = Array.prototype.slice.call( moduleArguments, 1 ); - } - return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // initializing - module.initialize(); - - }) - ; - return this; - }; - - $.fn.accordion.settings = { - moduleName : 'Accordion', - debug : false, - - exclusive : true, - collapsible : true, - - errors: { - method : 'The method you called is not defined' - }, - - className : { - active : 'active', - hover : 'hover' - }, - - selector : { - title : '.title', - icon : '.icon', - content : '.content' - }, - - speed : 500, - easing : 'easeInOutQuint' - - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/uncompressed/modules/behavior/animation.js b/node/src/files/components/semantic/uncompressed/modules/behavior/animation.js deleted file mode 100644 index 54c22e32f..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/behavior/animation.js +++ /dev/null @@ -1,247 +0,0 @@ -/* ****************************** - Animation - Author: Jack Lukic - Notes: First Commit May 24, 2012 - - A collection of FX/Animations - -****************************** */ - -;(function ( $, window, document, undefined ) { - - - // handles simplification of animation settings - $.animationSettings = function(settings, duration, easing, complete) { - // no parameters - if(duration === undefined) { - settings = settings; - } - // duration is actually settings object - else if(typeof duration == 'object') { - settings = $.extend({} , settings, duration); - } - // easing is actually complete callback - else if(typeof easing == 'function') { - settings = $.extend({} , settings, { - duration: duration, - complete: easing - }); - } - // easing is actually settings - else if(typeof easing == 'object') { - settings = $.extend(true, {} , settings, {duration: duration}, easing); - } - // - else { - settings = $.extend({} , settings, { - duration : duration, - easing : easing, - complete : complete - }); - } - return settings; - }; - - /* ****************************** - Pop In - - Animates one at a time - scaling in - ****************************** */ - - $.fn.popIn = function(duration, easing, complete) { - var - settings = $.animationSettings($.fn.popIn.settings, duration, easing, complete), - - $this = $(this), - totalElements = $this.size(), - currentElement = 0, - callback = function() { - var - elementsDoneAnimating = ($this.filter(':animated').size() == 0) - ; - currentElement++; - $(this) - .css('transform', '') - .removeClass(settings.className.init) - ; - $.proxy(settings.eachComplete, this)(); - if(currentElement == totalElements) { - $.proxy(settings.complete, $this)(); - } - }, - animate = function(index) { - $(this) - .delay(settings.delay * index) - .animate({ - opacity : settings.endOpacity, - transform : 'scale('+ settings.endScale +')' - }, settings.duration, settings.easing, callback) - ; - } - ; - if(settings.isLegacyBrowser) { - $this - .show() - ; - } - else { - $this - .addClass(settings.className.init) - .show() - .css({ - opacity : settings.startOpacity, - transform : 'scale('+ settings.startScale +')' - }) - .each(animate) - ; - } - return $(this); - }; - - $.fn.popOut = function(duration, easing, complete) { - var - parameters = $.animationSettings($.fn.popIn.settings, duration, easing, complete), - // flip some defaults - defaults = { - complete: function() { - $(this).hide(); - $.proxy(parameters.complete, this)(); - }, - startOpacity : parameters.endOpacity, - endOpacity : 0, - startScale : parameters.endScale, - endScale : parameters.startScale - }, - settings = $.extend(true, {}, parameters, defaults) - ; - $(this) - .popIn(settings) - ; - }; - - $.fn.popIn.settings = { - - // legacy browser - isLegacyBrowser: false, - - // class given until animation ends - className: { - init : 'init' - }, - // duration of each animation - duration : 450, - // easing for animation - easing : 'easeOutExpo', - // delay before each - delay : 100, - - startOpacity : 0, - endOpacity : 1, - - startScale : 0.7, - endScale : 1, - // called after each element completes - eachComplete : function(){}, - // called after entire chain of animation completes - complete : function(){} - }; - - - $.fn.kenBurns = function(duration, easing, complete) { - var - settings = $.animationSettings($.fn.kenBurns.settings, duration, easing, complete), - module = { - - randomPosition: function(starting, rangeMin, rangeMax) { - var - rangeMax = (rangeMax !== undefined) - ? rangeMax - : rangeMin, - number = Math.random() * ((starting + rangeMax) - (starting - rangeMin) ) + (starting - rangeMin) - ; - return parseInt(number, 10); - }, - - animate: function() { - var - startingPosition = {}, - endingPosition = {}, - startingScale, - endingScale - ; - - startingPosition = (settings.useStartPosition) - ? { - x: parseInt( $(this).css('background-position-x'), 10), - y: parseInt( $(this).css('background-position-y'), 10) - } - : { - x: module.randomPosition(50, settings.xRange), - y: module.randomPosition(50, settings.yRange) - } - ; - // determine direction of animation based on origin position - endingPosition.x = (startingPosition.x > 50) - ? module.randomPosition(startingPosition.x, settings.xMaxTravelDistance, -settings.xMinTravelDistance) - : module.randomPosition(startingPosition.x, -settings.xMinTravelDistance, settings.xMaxTravelDistance) - ; - endingPosition.y = (startingPosition.y > 50) - ? module.randomPosition(startingPosition.y, settings.yMaxTravelDistance, -settings.yMinTravelDistance) - : module.randomPosition(startingPosition.y, -settings.yMinTravelDistance, settings.yMaxTravelDistance) - ; - - /*console.log(startingPosition.x + '% ' + startingPosition.y + '%'); - console.log(endingPosition.x + '% ' + endingPosition.y + '%');*/ - - $(this) - .css({ - backgroundPosition: startingPosition.x + '%', - backgroundPositionY: startingPosition.y + '%' - }) - .stop() - .animate({ - backgroundPosition: endingPosition.x + '%', - backgroundPositionY: endingPosition.y + '%' - }, settings.duration, settings.easing, settings.complete) - ; - } - - } - ; - if(!settings.isLegacyBrowser) { - $(this) - .each(module.animate) - ; - } - return $(this); - }; - - $.fn.kenBurns.settings = { - - // legacy browser - isLegacyBrowser : false, - - // duration of animation - duration : 10000, - // easing for animation - easing : 'linear', - useStartPosition : false, - - xRange : 40, - yRange : 20, - - xMinTravelDistance : 30, - xMaxTravelDistance : 60, - - yMinTravelDistance : 20, - yMaxTravelDistance : 40, - - // not yet implemented, need css hook for background-size - scale : 0.1, - - // called after entire chain of animation completes - complete : function(){} - }; - - -})( jQuery, window , document ); \ No newline at end of file diff --git a/node/src/files/components/semantic/uncompressed/modules/behavior/api.js b/node/src/files/components/semantic/uncompressed/modules/behavior/api.js deleted file mode 100644 index 3f5b0ab14..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/behavior/api.js +++ /dev/null @@ -1,515 +0,0 @@ - /* ****************************** - API - Author: Jack Lukic - Notes: First Commit May 08, 2012 - - These are modules which bind API functionality to the DOM - - Requires: nada - - Initialization: - $('.button') - .apiButton({ - success: function() {} - }) - ; - - in our example api is automapped to an object literal - @ quirky.config.endpoint.api - - HTML: -
- - URL : quirky.config.endpoint.api.follow - Given Value: /follow/{$id}/ - Sent Value : /follow/5/ - - (4 ways to map api endpoint, each will be looked for in succession) - url mapping order: - first : defined in plugin init as url (arbitrary url) - second : defined in plugin init as action (action in obj literal grouping 'api') - third : defined in data-url - fourth : defined in data-action - - beforeSend: - this callback can be used to modify request settings before XHR - it also can be used to look for for pre-conditions to prevent API - call by returning "false" - -****************************** */ - -;(function ( $, window, document, undefined ) { - - $.api = $.fn.api = function(parameters) { - - var - settings = $.extend(true, {}, $.api.settings, parameters), - - // if this keyword isn't a jQuery object, create one - context = (typeof this != 'function') - ? this - : $('
'), - // context defines the element used for loading/error state - $context = (settings.stateContext) - ? $(settings.stateContext) - : $(context), - // module is the thing that initiates the api action, can be independent of context - $module = typeof this == 'object' - ? $(context) - : $context, - - action = $module.data(settings.metadata.action) || settings.action || false, - - className = settings.className, - metadata = settings.metadata, - errors = settings.errors, - module - ; - - module = { - initialize: function() { - var - exitConditions = false, - - runSettings, - - loadingTimer = new Date().getTime(), - loadingDelay, - - promise, - url, - urlVariables, - - formData = {}, - data, - - ajaxSettings = {}, - xhr, - - errors = settings.errors - ; - - // serialize parent form if requested! - if(settings.serializeForm && $(this).toJSON() !== undefined) { - formData = $module - .closest('form') - .toJSON() - ; - $.extend(true, settings.data, formData); - module.debug('Adding form data to API Request', formData); - } - - // let beforesend change settings object - runSettings = $.proxy(settings.beforeSend, $module)(settings); - - // check for exit conditions - if(runSettings !== undefined && !runSettings) { - module.error(errors.beforeSend); - module.reset(); - return; - } - - if(action) { - module.debug('Initializing API Request for: ', action); - if(settings.api[action] !== undefined) { - url = settings.api[action]; - } - else { - module.error(errors.missingAction); - } - } - // override with url if specified - if(settings.url) { - url = settings.url; - module.debug('Using specified url: ', url); - } - - if(!url) { - module.error(errors.missingURL); - module.reset(); - } - - // replace url data in url - urlVariables = url.match(settings.regExpTemplate); - - if(urlVariables) { - module.debug('Looking for URL variables', urlVariables); - $.each(urlVariables, function(index, templateValue){ - var - term = templateValue.substr( 2, templateValue.length - 3), - termValue = ($.isPlainObject(parameters.urlData) && parameters.urlData[term] !== undefined) - ? parameters.urlData[term] - : ($module.data(term) !== undefined) - ? $module.data(term) - : settings.urlData[term] - ; - module.verbose('Looking for variable', term, $module, $module.data(term), settings.urlData[term]); - // remove optional value - if(termValue === false) { - module.debug('Removing variable from URL', urlVariables); - url = url.replace('/' + templateValue, ''); - } - // undefined condition - else if(termValue === undefined || !termValue) { - module.error(errors.missingParameter + term); - exitConditions = true; - } - else { - url = url.replace(templateValue, termValue); - } - }); - } - - // exit conditions reached from missing url parameters - if( exitConditions ) { - module.reset(); - return; - } - - // promise handles notification on api request, so loading min. delay can occur for all notifications - promise = - $.Deferred() - .always(function() { - if(settings.stateContext) { - $context - .removeClass(className.loading) - ; - } - $.proxy(settings.complete, $module)(); - }) - .done(function(response) { - module.debug('API request successful'); - // take a stab at finding success state if json - if(settings.dataType == 'json') { - if(response.success === true) { - $.proxy(settings.success, $context)(response, settings, $module); - } - else { - module.debug('JSON success flag is not set.'); - if (response.error !== undefined) { - $.proxy(settings.failure, $context)(response.error, settings, $module); - } - else if ($.isArray(response.errors)) { - $.proxy(settings.failure, $context)(response.errors[0], settings, $module); - } - else if(response.message !== undefined) { - $.proxy(settings.failure, $context)(response.message, settings, $module); - } - else { - $.proxy(settings.failure, $context)(errors.error, settings, $module); - } - } - } - // otherwise - else { - $.proxy(settings.success, $context)(response, settings, $module); - } - }) - .fail(function(xhr, status, httpMessage) { - var - errorMessage = (settings.errors[status] !== undefined) - ? settings.errors[status] - : httpMessage, - response - ; - // let em know unless request aborted - if(xhr !== undefined) { - // readyState 4 = done, anything less is not really sent - if(xhr.readyState !== undefined && xhr.readyState == 4) { - - // if http status code returned and json returned error, look for it - if( xhr.status != 200 && httpMessage !== undefined && httpMessage !== '') { - module.error(errors.statusMessage + httpMessage); - } - else { - if(status == 'error' && settings.dataType == 'json') { - try { - response = $.parseJSON(xhr.responseText); - if(response && response.error !== undefined) { - errorMessage = response.error; - } - } - catch(error) { - module.error(errors.JSONParse); - } - } - } - $context - .removeClass(className.loading) - .addClass(className.error) - ; - // show error state only for duration specified in settings - if(settings.errorLength > 0) { - setTimeout(function(){ - $context - .removeClass(className.error) - ; - }, settings.errorLength); - } - module.debug('API Request error:', errorMessage); - $.proxy(settings.failure, $context)(errorMessage, settings, this); - } - else { - module.debug('Request Aborted (Most likely caused by page change)'); - } - } - }) - ; - - // look for params in data - $.extend(true, ajaxSettings, settings, { - type : settings.method || settings.type, - data : data, - url : url, - beforeSend : settings.beforeXHR - }); - - if(settings.stateContext) { - $context - .addClass(className.loading) - ; - } - - if(settings.progress) { - module.verbose('Adding progress events'); - $.extend(true, ajaxSettings, { - xhr: function() { - var - xhr = new window.XMLHttpRequest() - ; - xhr.upload.addEventListener('progress', function(event) { - var - percentComplete - ; - if (event.lengthComputable) { - percentComplete = Math.round(event.loaded / event.total * 10000) / 100 + '%'; - $.proxy(settings.progress, $context)(percentComplete, event); - } - }, false); - xhr.addEventListener('progress', function(event) { - var - percentComplete - ; - if (event.lengthComputable) { - percentComplete = Math.round(event.loaded / event.total * 10000) / 100 + '%'; - $.proxy(settings.progress, $context)(percentComplete, event); - } - }, false); - return xhr; - } - }); - } - - module.verbose('Creating AJAX request with settings: ', ajaxSettings); - xhr = - $.ajax(ajaxSettings) - .always(function() { - // calculate if loading time was below minimum threshold - loadingDelay = ( settings.loadingLength - (new Date().getTime() - loadingTimer) ); - settings.loadingDelay = loadingDelay < 0 - ? 0 - : loadingDelay - ; - }) - .done(function(response) { - var - context = this - ; - setTimeout(function(){ - promise.resolveWith(context, [response]); - }, settings.loadingDelay); - }) - .fail(function(xhr, status, httpMessage) { - var - context = this - ; - // page triggers abort on navigation, dont show error - if(status != 'abort') { - setTimeout(function(){ - promise.rejectWith(context, [xhr, status, httpMessage]); - }, settings.loadingDelay); - } - else { - $context - .removeClass(className.error) - .removeClass(className.loading) - ; - } - }) - ; - if(settings.stateContext) { - $module - .data(metadata.promise, promise) - .data(metadata.xhr, xhr) - ; - } - }, - - // reset api request - reset: function() { - $module - .data(metadata.promise, false) - .data(metadata.xhr, false) - ; - $context - .removeClass(className.error) - .removeClass(className.loading) - ; - module.error(errors.exitConditions); - }, - - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - verbose: function() { - if(settings.verbose) { - module.debug.apply(this, arguments); - } - }, - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - error: function() { - var - output = [], - errorMessage = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.warn || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(errorMessage); - output.concat(variables); - log.apply(console, output.concat(variables) ); - } - } - }; - - module.initialize(); - return this; - }; - - // handle DOM attachment to API functionality - $.fn.apiButton = function(parameters) { - $(this) - .each(function(){ - var - // if only function passed it is success callback - $module = $(this), - element = this, - selector = $(this).selector || '', - - settings = ( $.isFunction(parameters) ) - ? $.extend(true, {}, $.api.settings, $.fn.apiButton.settings, { stateContext: this, success: parameters }) - : $.extend(true, {}, $.api.settings, $.fn.apiButton.settings, { stateContext: this}, parameters), - module - ; - module = { - initialize: function() { - if(settings.context && selector !== '') { - $(settings.context) - .on(selector, 'click.' + settings.namespace, module.click) - ; - } - else { - $module - .on('click.' + settings.namespace, module.click) - ; - } - }, - click: function() { - if(!settings.filter || $(this).filter(settings.filter).size() === 0) { - $.proxy( $.api, this )(settings); - } - } - }; - module.initialize(); - }) - ; - return this; - }; - - $.api.settings = { - moduleName : 'API Module', - namespace : 'api', - - verbose : true, - debug : true, - - api : {}, - - beforeSend : function(settings) { - return settings; - }, - beforeXHR : function(xhr) {}, - - success : function(response) {}, - complete : function(response) {}, - failure : function(errorCode) {}, - progress : false, - - errors : { - missingAction : 'API action used but no url was defined', - missingURL : 'URL not specified for the API action', - missingParameter : 'Missing an essential URL parameter: ', - - timeout : 'Your request timed out', - error : 'There was an error with your request', - parseError : 'There was an error parsing your request', - JSONParse : 'JSON could not be parsed during error handling', - statusMessage : 'Server gave an error: ', - beforeSend : 'The before send function has aborted the request', - exitConditions : 'API Request Aborted. Exit conditions met' - }, - - className: { - loading : 'loading', - error : 'error' - }, - - metadata: { - action : 'action', - promise : 'promise', - xhr : 'xhr' - }, - - regExpTemplate: /\{\$([A-z]+)\}/g, - - action : false, - url : false, - urlData : false, - serializeForm : false, - - stateContext : false, - - method : 'get', - data : {}, - dataType : 'json', - cache : true, - - loadingLength : 200, - errorLength : 2000 - - }; - - $.fn.apiButton.settings = { - filter : '.disabled, .loading', - context : false, - stateContext : false - }; - -})( jQuery, window , document ); \ No newline at end of file diff --git a/node/src/files/components/semantic/uncompressed/modules/behavior/colorize.js b/node/src/files/components/semantic/uncompressed/modules/behavior/colorize.js deleted file mode 100644 index 245d66815..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/behavior/colorize.js +++ /dev/null @@ -1,271 +0,0 @@ -/* ****************************** - Colorizer - Author: Jack Lukic - Notes: First Commit June 06, 2012 - - Tooltip Wrapper for loading - colorizes of ideations, concepts and users - - Will eventually rewrite to use own tooltip lib - -****************************** */ - -;(function ( $, window, document, undefined ) { - - $.fn.colorize = function(parameters) { - var - settings = $.extend(true, {}, $.fn.colorize.settings, parameters), - // hoist arguments - moduleArguments = arguments || false - ; - $(this) - .each(function(instanceIndex) { - - var - $module = $(this), - - mainCanvas = $('')[0], - imageCanvas = $('')[0], - overlayCanvas = $('')[0], - - backgroundImage = new Image(), - - // defs - mainContext, - imageContext, - overlayContext, - - image, - imageName, - - width, - height, - - // shortucts - colors = settings.colors, - paths = settings.paths, - namespace = settings.namespace, - errors = settings.errors, - - // boilerplate - instance = $module.data('module-' + namespace), - module - ; - - module = { - - checkPreconditions: function() { - module.debug('Checking pre-conditions'); - - if( !$.isPlainObject(colors) || $.isEmptyObject(colors) ) { - module.error(errors.undefinedColors); - return false; - } - return true; - }, - - async: function(callback) { - if(settings.async) { - setTimeout(callback, 0); - } - else { - callback(); - } - }, - - getMetadata: function() { - module.debug('Grabbing metadata'); - image = $module.data('image') || settings.image || undefined; - imageName = $module.data('name') || settings.name || instanceIndex; - width = settings.width || $module.width(); - height = settings.height || $module.height(); - if(width === 0 || height === 0) { - module.error(errors.undefinedSize); - } - }, - - initialize: function() { - module.debug('Initializing with colors', colors); - if( module.checkPreconditions() ) { - - module.async(function() { - module.getMetadata(); - module.canvas.create(); - - module.draw.image(function() { - module.draw.colors(); - module.canvas.merge(); - }); - $module - .data('module-' + namespace, module) - ; - }); - } - }, - - redraw: function() { - module.debug('Redrawing image'); - module.async(function() { - module.canvas.clear(); - module.draw.colors(); - module.canvas.merge(); - }); - }, - - change: { - color: function(colorName, color) { - module.debug('Changing color', colorName); - if(colors[colorName] === undefined) { - module.error(errors.missingColor); - return false; - } - colors[colorName] = color; - module.redraw(); - } - }, - - canvas: { - create: function() { - module.debug('Creating canvases'); - - mainCanvas.width = width; - mainCanvas.height = height; - imageCanvas.width = width; - imageCanvas.height = height; - overlayCanvas.width = width; - overlayCanvas.height = height; - - mainContext = mainCanvas.getContext('2d'); - imageContext = imageCanvas.getContext('2d'); - overlayContext = overlayCanvas.getContext('2d'); - - $module - .append( mainCanvas ) - ; - mainContext = $module.children('canvas')[0].getContext('2d'); - }, - clear: function(context) { - module.debug('Clearing canvas'); - overlayContext.fillStyle = '#FFFFFF'; - overlayContext.fillRect(0, 0, width, height); - }, - merge: function() { - if( !$.isFunction(mainContext.blendOnto) ) { - module.error(errors.missingPlugin); - return; - } - mainContext.putImageData( imageContext.getImageData(0, 0, width, height), 0, 0); - overlayContext.blendOnto(mainContext, 'multiply'); - } - }, - - draw: { - - image: function(callback) { - module.debug('Drawing image'); - callback = callback || function(){}; - if(image) { - backgroundImage.src = image; - backgroundImage.onload = function() { - imageContext.drawImage(backgroundImage, 0, 0); - callback(); - }; - } - else { - module.error(errors.noImage); - callback(); - } - }, - - colors: function() { - module.debug('Drawing color overlays', colors); - $.each(colors, function(colorName, color) { - settings.onDraw(overlayContext, imageName, colorName, color); - }); - } - - }, - - debug: function(message, variableName) { - if(settings.debug) { - if(variableName !== undefined) { - console.info(settings.moduleName + ': ' + message, variableName); - } - else { - console.info(settings.moduleName + ': ' + message); - } - } - }, - error: function(errorMessage) { - console.warn(settings.moduleName + ': ' + errorMessage); - }, - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - return ( $.isFunction( method ) ) - ? method.apply(context, methodArguments) - : false - ; - } - - }; - if(instance !== undefined && moduleArguments) { - // simpler than invoke realizing to invoke itself (and losing scope due prototype.call() - if(moduleArguments[0] == 'invoke') { - moduleArguments = Array.prototype.slice.call( moduleArguments, 1 ); - } - return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // initializing - module.initialize(); - }) - ; - return this; - }; - - $.fn.colorize.settings = { - moduleName : 'Image Colorizer', - debug : true, - namespace : 'colorize', - - onDraw: function(overlayContext, imageName, colorName, color) {}, - - // whether to block execution while updating canvas - async: true, - // object containing names and default values of color regions - colors: {}, - - metadata: { - image : 'image', - name : 'name' - }, - - errors: { - noImage : 'No tracing image specified', - undefinedColors : 'No default colors specified.', - missingColor : 'Attempted to change color that does not exist', - missingPlugin : 'Blend onto plug-in must be included', - undefinedHeight : 'The width or height of image canvas could not be automatically determined. Please specify a height.' - } - - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/uncompressed/modules/behavior/default-text.js b/node/src/files/components/semantic/uncompressed/modules/behavior/default-text.js deleted file mode 100644 index 24d849842..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/behavior/default-text.js +++ /dev/null @@ -1,104 +0,0 @@ -/* ****************************** - Default Text (Form) - Author: Jack Lukic - Notes: First Commit April 08, 2012 - - Refactored Aug 13, 2012 - - allows you to set a default text value which will be added and removed on form field focus - -****************************** */ -;(function ( $, window, document, undefined ) { - - $.fn.defaultText = function(parameters) { - var - // overload for shorthand to default value - settings = (typeof parameters == 'string') - ? $.extend({}, $.fn.defaultText.settings, { defaultValue: parameters }) - : $.extend(true, {}, $.fn.defaultText.settings, parameters) - ; - // overload function - if(typeof parameters == 'string') { - parameters = { defaultValue: parameters }; - } - $.extend(settings, parameters); - $(this) - .each(function() { - var - $element = $(this), - module = { - - checkDefault: function() { - if($element.val().toLowerCase() != settings.defaultValue.toLowerCase()) { - $element.addClass(settings.filledClass); - } - }, - - placeholder: { - add: function(){ - if( $element.filter(settings.disabledClassList).size() === 0 ) { - if( $element.val() == settings.replaceValue ) { - if(settings.alwaysReplace) { - $element - .removeClass(settings.filledClass) - .val($element.attr('last')) - .removeAttr('last') - ; - } - else { - $element - .removeClass(settings.filledClass) - .val(settings.defaultValue) - ; - } - } - else { - $element - .addClass(settings.filledClass) - ; - } - } - }, - remove: function() { - if( $element.filter(settings.disabledClassList).size() === 0 ) { - if(settings.alwaysReplace) { - $element - .attr('last', $element.val()) - .val(settings.replaceValue) - ; - } - else { - if( $element.val().toLowerCase() == settings.defaultValue.toLowerCase() ) { - $element - .val(settings.replaceValue) - ; - } - } - } - } - } - } - ; - if(settings.defaultValue == 'auto') { - settings.defaultValue = $(this).val(); - } - $element - .on('focus', module.placeholder.remove) - .on('blur', module.placeholder.add) - ; - // check for user value on load - module.checkDefault(); - }) - ; - return this; - }; - - $.fn.defaultText.settings = { - defaultValue : 'auto', - replaceValue : '', - alwaysReplace : false, - disabledClassList : '.readonly, .disabled', - filledClass : 'filled' - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/uncompressed/modules/behavior/form.js b/node/src/files/components/semantic/uncompressed/modules/behavior/form.js deleted file mode 100644 index 89fd569ef..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/behavior/form.js +++ /dev/null @@ -1,408 +0,0 @@ -/* ****************************** - Form Validation Components - Author: Jack Lukic - Notes: First Commit April 08, 2012 - - Refactored Feb 22, 2012 - - Allows you to validate forms based on a form validation object - Form validation objects are bound by either data-validate="" metadata, or form id or name tags - -****************************** */ - -;(function ( $, window, document, undefined ) { - -$.fn.validateForm = function(fields, parameters) { - var - $allModules = $(this), - - settings = $.extend(true, {}, $.fn.validateForm.settings, parameters), - // make arguments available - query = arguments[0], - passedArguments = [].slice.call(arguments, 1), - invokedResponse - ; - $allModules - .each(function() { - var - $module = $(this), - $group = $(this).find(settings.selector.group), - $field = $(this).find(settings.selector.field), - $errorPrompt = $(this).find(settings.selector.prompt), - - formErrors = [], - - selector = $module.selector || '', - element = this, - instance = $module.data('module-' + settings.namespace), - methodInvoked = (typeof query == 'string'), - - namespace = settings.namespace, - metadata = settings.metadata, - className = settings.className, - errors = settings.errors, - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing form validation'); - if(fields !== undefined || !$.isEmptyObject(fields) ) { - // add default text if set - if($.fn.defaultText !== undefined) { - $.each(fields, function(fieldName, field) { - module.field.add.defaultText(field); - }); - } - // attach event handler - $module - .on('submit.' + namespace, module.validate.form) - ; - } - else { - module.error(errors.noFields, $module); - } - }, - - destroy: function() { - $module - .off(namespace) - ; - }, - - field: { - find: function(identifier) { - var - $field = $module.find(settings.selector.field) - ; - if( $field.filter('#' + identifier).size() > 0 ) { - return $field.filter('#' + identifier); - } - else if( $field.filter('[name="' + identifier +'"]').size() > 0 ) { - return $field.filter('[name="' + identifier +'"]'); - } - else if( $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]').size() > 0 ) { - return $field.filter('[data-' + metadata.validate + '="'+ identifier +'"]'); - } - return $(''); - }, - add: { - defaultText: function(field) { - var - $field = module.field.find(field.identifier) - ; - if(field.defaultText !== undefined) { - $field.defaultText(field.defaultText); - } - }, - error: function(field, errors) { - var - $field = module.field.find(field.identifier), - $errorGroup = $field.closest($group), - $errorPrompt = $group.find($errorPrompt), - promptExists = ($errorPrompt.size() !== 0) - ; - $errorGroup - .addClass(className.error) - ; - if(settings.inlineError) { - // create message container on first invalid validation attempt - if(!promptExists) { - $errorPrompt = $('
') - .addClass(className.prompt) - .insertBefore($field) - ; - } - // add prompt message - $errorPrompt - .html(errors[0]) - .fadeIn(settings.animateSpeed) - ; - } - } - }, - remove: { - error: function(field) { - var - $field = module.field.find(field.identifier), - $errorGroup = $field.closest($group), - $errorPrompt = $group.find($errorPrompt) - ; - $errorGroup - .removeClass(className.error) - ; - if(settings.inlineError) { - $errorPrompt.hide(); - } - } - } - }, - - validate: { - - form: function(event) { - var - allValid = true - ; - // reset errors - formErrors = []; - $.each(fields, function(fieldName, field){ - // form is invalid after first bad field, but keep checking - if( !( module.validate.field(field) ) ) { - allValid = false; - } - }); - // Evaluate form callbacks - return (allValid) - ? $.proxy(settings.onSuccess, this)(event) - : $.proxy(settings.onFailure, this)(formErrors) - ; - }, - - // takes a validation object and returns whether field passes validation - field: function(field) { - var - $field = module.field.find(field.identifier), - fieldValid = true, - fieldErrors = [] - ; - if(field.rules !== undefined) { - // iterate over all validation types for a certain field - $.each(field.rules, function(index, rule) { - if( !( module.validate.rule(field, rule) ) ) { - module.debug('Field is invalid', field.identifier, rule.type); - fieldErrors.push(rule.prompt); - fieldValid = false; - } - }); - } - if(fieldValid) { - module.field.remove.error(field, fieldErrors); - settings.onValid($field); - } - else { - formErrors = formErrors.concat(fieldErrors); - module.field.add.error(field, fieldErrors); - $.proxy(settings.onInvalid, $field)(fieldErrors); - return false; - } - return true; - }, - - // takes validation rule and returns whether field passes rule - rule: function(field, validation) { - var - $field = module.field.find(field.identifier), - type = validation.type, - defaultText = (field.defaultText !== undefined) - ? field.defaultText - : false, - value = ($field.val() == defaultText) - ? '' - : $field.val(), - - bracketRegExp = /\[(.*?)\]/i, - bracket = bracketRegExp.exec(type), - isValid = true, - ancillary, - functionType - ; - // if bracket notation is used, pass in extra parameters - if(bracket !== undefined && bracket != null) { - ancillary = bracket[1]; - functionType = type.replace(bracket[0], ''); - isValid = $.proxy(settings.rules[functionType], $module)(value, ancillary); - } - // normal notation - else { - isValid = (type == 'checked') - ? $field.filter(':checked').size() > 0 - : settings.rules[type](value) - ; - } - return isValid; - } - }, - - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - verbose: function() { - if(settings.verbose) { - module.debug.apply(this, arguments); - } - }, - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - error: function() { - var - output = [], - errorMessage = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.warn || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(errorMessage); - output.concat(variables); - log.apply(console, output.concat(variables) ); - } - }, - invoke: function(query, context, passedArguments) { - var - maxDepth, - found - ; - passedArguments = passedArguments || [].slice.call( arguments, 2 ); - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found; - } - }; - - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(query, this, passedArguments); - } - // otherwise initialize - else { - module.initialize(); - } - - }) - ; - // chain or return queried method - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.validateForm.settings = { - - // module info - moduleName : 'Validate Form Module', - debug : true, - verbose : false, - namespace : 'validate', - - animateSpeed : 150, - inlineError : false, - - onValid : function() {}, - onInvalid : function() {}, - onSuccess : function() { return true; }, - onFailure : function() { return false; }, - - metadata : { - validate: 'validate' - }, - - // errors - errors: { - method : 'The method you called is not defined.', - noFields : 'No validation object specified.' - }, - - - selector : { - group : '.field', - prompt : '.prompt', - field : 'input, textarea, select' - }, - - className : { - error : 'error', - prompt : 'prompt' - }, - - rules: { - empty: function(value) { - return !(value === undefined || '' === value); - }, - email: function(value){ - var - emailRegExp = new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?") - ; - return emailRegExp.test(value); - }, - length: function(value, requiredLength) { - return (value !== undefined) - ? (value.length >= requiredLength) - : false - ; - }, - not: function(value, notValue) { - return (value != notValue); - }, - maxLength: function(value, maxLength) { - return (value !== undefined) - ? (value.length <= maxLength) - : false - ; - }, - match: function(value, matchingField) { - // use either id or name of field - var - $form = $(this), - matchingValue - ; - if($form.find('#' + matchingField).size() > 0) { - matchingValue = $form.find('#' + matchingField).val(); - } - else if($form.find('[name=' + matchingField +']').size() > 0) { - matchingValue = $form.find('[name=' + matchingField + ']').val(); - } - else if( $form.find('[data-validate="'+ matchingField +'"]').size() > 0 ) { - matchingValue = $form.find('[data-validate="'+ matchingField +'"]').val(); - } - return (matchingValue !== undefined) - ? ( value.toString() == matchingValue.toString() ) - : false - ; - }, - url: function(value) { - var - urlRegExp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ - ; - return urlRegExp.test(value); - } - } - -}; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/uncompressed/modules/behavior/state.js b/node/src/files/components/semantic/uncompressed/modules/behavior/state.js deleted file mode 100644 index f05887f5a..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/behavior/state.js +++ /dev/null @@ -1,649 +0,0 @@ -/* ****************************** - Module - State - Change text based on state context - Hover/Pressed/Active/Inactive - Author: Jack Lukic - Last revision: May 2012 - - State text module is used to apply text to a given node - depending on the elements "state" - - State is either defined as "active" or "inactive" depending - on the returned value of a test function - - Usage: - - $button - .state({ - states: { - active: true - }, - text: { - inactive: 'Follow', - active : 'Following', - enable : 'Add', - disable : 'Remove' - } - }) - ; - - "Follow", turns to "Add" on hover, then "Following" on active - and finally "Remove" on active hover - - This plugin works in correlation to API module and will, by default, - use deffered object accept/reject to determine state. - -****************************** */ - -;(function ( $, window, document, undefined ) { - -$.fn.state = function(parameters) { - var - - $allModules = $(this), - - // make available in scope - selector = $allModules.selector || '', - query = arguments[0], - passedArguments = [].slice.call(arguments, 1), - - // set up performance tracking - time = new Date().getTime(), - performance = [], - - invokedResponse - ; - $allModules - .each(function() { - var - $module = $(this), - - settings = $.extend(true, {}, $.fn.state.settings, parameters), - - element = this, - instance = $module.data('module-' + settings.namespace), - methodInvoked = (typeof query == 'string'), - - // shortcuts - namespace = settings.namespace, - metadata = settings.metadata, - className = settings.className, - states = settings.states, - text = settings.text, - - module - ; - module = { - - initialize: function() { - module.verbose('Initializing module', element); - - // allow module to guess desired state based on element - if(settings.automatic) { - module.add.defaults(); - } - - // bind events with delegated events - if(settings.context && selector !== '') { - if( module.allows('hover') ) { - $(element, settings.context) - .on(selector, 'mouseenter.' + namespace, module.hover.enable) - .on(selector, 'mouseleave.' + namespace, module.hover.disable) - ; - } - if( module.allows('pressed') ) { - $(element, settings.context) - .on(selector, 'mousedown.' + namespace, module.pressed.enable) - .on(selector, 'mouseup.' + namespace, module.pressed.disable) - ; - } - if( module.allows('focus') ) { - $(element, settings.context) - .on(selector, 'focus.' + namespace, module.focus.enable) - .on(selector, 'blur.' + namespace, module.focus.disable) - ; - } - $(settings.context) - .on(selector, 'mouseenter.' + namespace, module.text.change) - .on(selector, 'mouseleave.' + namespace, module.text.reset) - .on(selector, 'click.' + namespace, module.toggle) - ; - - } - else { - if( module.allows('hover') ) { - $module - .on('mouseenter.' + namespace, module.hover.enable) - .on('mouseleave.' + namespace, module.hover.disable) - ; - } - if( module.allows('pressed') ) { - $module - .on('mousedown.' + namespace, module.pressed.enable) - .on('mouseup.' + namespace, module.pressed.disable) - ; - } - if( module.allows('focus') ) { - $module - .on('focus.' + namespace, module.focus.enable) - .on('blur.' + namespace, module.focus.disable) - ; - } - $module - .on('mouseenter.' + namespace, module.text.change) - .on('mouseleave.' + namespace, module.text.reset) - .on('click.' + namespace, module.toggle) - ; - } - $module - .data('module-' + namespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module', element); - $module - .off('.' + namespace) - ; - }, - - refresh: function() { - module.verbose('Refreshing selector cache', element); - $module = $(element); - }, - - add: { - defaults: function() { - var - userStates = parameters && $.isPlainObject(parameters.states) - ? parameters.states - : {} - ; - $.each(settings.defaults, function(type, typeStates) { - if( module.is[type] !== undefined && module.is[type]() ) { - module.verbose('Adding default states', type, element); - $.extend(settings.states, typeStates, userStates); - } - }); - } - }, - - is: { - - active: function() { - return $module.hasClass(className.active); - }, - loading: function() { - return $module.hasClass(className.loading); - }, - inactive: function() { - return !( $module.hasClass(className.active) ); - }, - - enabled: function() { - return !( $module.is(settings.filter.active) ); - }, - disabled: function() { - return ( $module.is(settings.filter.active) ); - }, - textEnabled: function() { - return !( $module.is(settings.filter.text) ); - }, - - // definitions for automatic type detection - button: function() { - return $module.is('.button:not(a, .submit)'); - }, - input: function() { - return $module.is('input'); - } - }, - - allows: function(state) { - return states[state] || false; - }, - enable: function(state) { - if(module.allows(state)) { - $module.addClass( className[state] ); - } - }, - disable: function(state) { - if(module.allows(state)) { - $module.removeClass( className[state] ); - } - }, - textFor: function(state) { - return text[state] || false; - }, - - focus : { - enable: function() { - $module.addClass(className.focus); - }, - disable: function() { - $module.removeClass(className.focus); - } - }, - - hover : { - enable: function() { - $module.addClass(className.hover); - }, - disable: function() { - $module.removeClass(className.hover); - } - }, - - pressed : { - enable: function() { - $module - .addClass(className.pressed) - .one('mouseleave', module.pressed.disable) - ; - }, - disable: function() { - $module.removeClass(className.pressed); - } - }, - - // determines method for state activation - toggle: function() { - var - apiRequest = $module.data(metadata.promise) - ; - if( module.allows('active') && module.is.enabled() ) { - module.refresh(); - if(apiRequest !== undefined) { - module.listenTo(apiRequest); - } - else { - module.change(); - } - } - }, - - listenTo: function(apiRequest) { - module.debug('API request detected, waiting for state signal', apiRequest); - if(apiRequest) { - if(text.loading) { - module.text.update(text.loading); - } - $.when(apiRequest) - .then(function() { - if(apiRequest.state() == 'resolved') { - module.debug('API request succeeded'); - settings.activateTest = function(){ return true; }; - settings.deactivateTest = function(){ return true; }; - } - else { - module.debug('API request failed'); - settings.activateTest = function(){ return false; }; - settings.deactivateTest = function(){ return false; }; - } - module.change(); - }) - ; - } - // xhr exists but set to false, beforeSend killed the xhr - else { - settings.activateTest = function(){ return false; }; - settings.deactivateTest = function(){ return false; }; - } - }, - - // checks whether active/inactive state can be given - change: function() { - module.debug('Determining state change direction'); - // inactive to active change - if( module.is.inactive() ) { - module.activate(); - } - else { - module.deactivate(); - } - if(settings.sync) { - module.sync(); - } - settings.onChange(); - }, - - activate: function() { - if( $.proxy(settings.activateTest, element)() ) { - module.debug('Setting state to active'); - $module - .addClass(className.active) - ; - module.text.update(text.active); - } - }, - - deactivate: function() { - if($.proxy(settings.deactivateTest, element)() ) { - module.debug('Setting state to inactive'); - $module - .removeClass(className.active) - ; - module.text.update(text.inactive); - } - }, - - sync: function() { - module.verbose('Syncing other buttons to current state'); - if( module.is.active() ) { - $allModules - .not($module) - .state('activate'); - } - else { - $allModules - .not($module) - .state('deactivate') - ; - } - }, - - text: { - - // finds text node to update - get: function() { - return (settings.selector.text) - ? $module.find(settings.selector.text).text() - : $module.html() - ; - }, - - flash: function(text, duration) { - var - previousText = module.text.get() - ; - text = text || settings.text.flash; - duration = duration || settings.flashDuration; - module.text.update(text); - setTimeout(function(){ - module.text.update(previousText); - }, duration); - }, - - change: function() { - module.verbose('Checking if text should be changed'); - if( module.is.textEnabled() ) { - if( module.is.active() ) { - if(text.hover) { - module.verbose('Changing text to hover text', text.hover); - module.text.update(text.hover); - } - else if(text.disable) { - module.verbose('Changing text to disable text', text.disable); - module.text.update(text.disable); - } - } - else { - if(text.hover) { - module.verbose('Changing text to hover text', text.disable); - module.text.update(text.hover); - } - else if(text.enable){ - module.verbose('Changing text to enable text', text.disable); - module.text.update(text.enable); - } - } - } - }, - - // on mouseout sets text to previous value - reset : function() { - var - activeText = text.active || $module.data(metadata.storedText), - inactiveText = text.inactive || $module.data(metadata.storedText) - ; - if( module.is.textEnabled() ) { - if( module.is.active() && activeText) { - module.verbose('Resetting active text', activeText); - module.text.update(activeText); - } - else if(inactiveText) { - module.verbose('Resetting inactive text', activeText); - module.text.update(inactiveText); - } - } - }, - - update: function(text) { - var - currentText = module.text.get() - ; - if(text && text !== currentText) { - module.debug('Updating text', text); - if(settings.selector.text) { - $module - .data(metadata.storedText, text) - .find(settings.selector.text) - .text(text) - ; - } - else { - $module - .data(metadata.storedText, text) - .html(text) - ; - } - } - } - }, - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - performance: { - log: function(message) { - var - currentTime, - executionTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - executionTime = currentTime - time; - time = currentTime; - performance.push({ - 'Name' : message, - 'Execution Time' : executionTime - }); - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - } - }, - display: function() { - var - title = settings.moduleName + ' Performance (' + selector + ')', - caption = settings.moduleName + ': ' + selector + '(' + $allModules.size() + ' elements)' - ; - if(console.group !== undefined && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ':' + data['Execution Time']); - }); - } - console.groupEnd(); - performance = []; - } - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - module.performance.log(arguments[0]); - module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':'); - } - }, - debug: function() { - if(settings.debug) { - module.performance.log(arguments[0]); - module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':'); - } - }, - error: function() { - if(console.log !== undefined) { - module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':'); - } - }, - invoke: function(query, context, passedArguments) { - var - maxDepth, - found - ; - passedArguments = passedArguments || [].slice.call( arguments, 2 ); - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found; - } - }; - - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(query, this, passedArguments); - } - // otherwise initialize - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - // chain or return queried method - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - -$.fn.state.settings = { - - // module info - moduleName : 'State Module', - - // debug output - debug : true, - - // verbose debug output - verbose : false, - - // namespace for events - namespace : 'state', - - // debug data includes performance - performance: true, - - // callback occurs on state change - onChange: function() {}, - - // state test functions - activateTest : function() { return true; }, - deactivateTest : function() { return true; }, - - // whether to automatically map default states - automatic : true, - - // activate / deactivate changes all elements instantiated at same time - sync : false, - - // default flash text duration, used for temporarily changing text of an element - flashDuration : 3000, - - // selector filter - filter : { - text : '.loading, .disabled', - active : '.disabled' - }, - - context : false, - // errors - errors: { - method : 'The method you called is not defined.' - }, - - // metadata - metadata: { - promise : 'promise', - storedText : 'stored-text' - }, - - // change class on state - className: { - focus : 'focus', - hover : 'hover', - pressed : 'down', - active : 'active', - loading : 'loading' - }, - - selector: { - // selector for text node - text: false - }, - - defaults : { - input: { - hover : true, - focus : true, - pressed : true, - loading : false, - active : false - }, - button: { - hover : true, - focus : false, - pressed : true, - active : false, - loading : true - } - }, - - states : { - hover : true, - focus : true, - pressed : true, - loading : false, - active : false - }, - - text : { - flash : false, - hover : false, - active : false, - inactive : false, - enable : false, - disable : false - } - -}; - - - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/uncompressed/modules/chat.js b/node/src/files/components/semantic/uncompressed/modules/chat.js deleted file mode 100644 index 017a1af4f..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/chat.js +++ /dev/null @@ -1,697 +0,0 @@ -/* ****************************** - Module - Chat Room - Author: Jack Lukic - Notes: First Commit Aug 8, 2012 - - Designed as a simple modular chat component -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.chat = function(key, channelName, parameters) { - var - settings = $.extend(true, {}, $.fn.chat.settings, parameters), - // hoist arguments - moduleArguments = arguments || false - ; - $(this) - .each(function() { - var - $module = $(this), - $expandButton = $module.find(settings.selector.expandButton), - $userListButton = $module.find(settings.selector.userListButton), - $userList = $module.find(settings.selector.userList), - $room = $module.find(settings.selector.room), - $userCount = $module.find(settings.selector.userCount), - - $log = $module.find(settings.selector.log), - $message = $module.find(settings.selector.message), - - $messageInput = $module.find(settings.selector.messageInput), - $messageButton = $module.find(settings.selector.messageButton), - - instance = $module.data('module'), - - className = settings.className, - namespace = settings.namespace, - - html = '', - users = {}, - loggedInUser, - - message, - count, - - height, - - pusher, - module - ; - - module = { - - channel: false, - width: { - log : $log.width(), - userList : $userList.outerWidth() - }, - - initialize: function() { - - // check error conditions - if(Pusher === undefined) { - module.error(settings.errors.pusher); - } - if(key === undefined || channelName === undefined) { - module.error(settings.errors.key); - return false; - } - else if( !(settings.endpoint.message || settings.endpoint.authentication) ) { - module.error(settings.errors.endpoint); - return false; - } - - // define pusher - pusher = new Pusher(key); - Pusher.channel_auth_endpoint = settings.endpoint.authentication; - - module.channel = pusher.subscribe(channelName); - - module.channel.bind('pusher:subscription_succeeded', module.user.list.create); - module.channel.bind('pusher:subscription_error', module.error); - module.channel.bind('pusher:member_added', module.user.joined); - module.channel.bind('pusher:member_removed', module.user.left); - module.channel.bind('update_messages', module.message.receive); - - $.each(settings.customEvents, function(label, value) { - module.channel.bind(label, value); - }); - - // expandable with states - if( $.fn.hoverClass !== undefined && $.fn.downClass !== undefined ) { - $expandButton - .hoverClass() - .downClass() - ; - $userListButton - .hoverClass() - .downClass() - ; - $messageButton - .hoverClass() - .downClass() - ; - } - // bind module events - $userListButton - .on('click.' + namespace, module.event.toggleUserList) - ; - $expandButton - .on('click.' + namespace, module.event.toggleExpand) - ; - $messageInput - .on('keydown.' + namespace, module.event.input.keydown) - .on('keyup.' + namespace, module.event.input.keyup) - ; - $messageButton - .on('mouseenter.' + namespace, module.event.hover) - .on('mouseleave.' + namespace, module.event.hover) - .on('click.' + namespace, module.event.submit) - ; - // scroll to bottom of chat log - $log - .animate({ - scrollTop: $log.prop('scrollHeight') - }, 400) - ; - $module - .data('module', module) - .addClass(className.loading) - ; - - }, - - // refresh module - refresh: function() { - // reset width calculations - $userListButton - .removeClass(className.active) - ; - module.width = { - log : $log.width(), - userList : $userList.outerWidth() - }; - if( $userListButton.hasClass(className.active) ) { - module.user.list.hide(); - } - $module.data('module', module); - }, - - user: { - - updateCount: function() { - if(settings.userCount) { - users = $module.data('users'); - count = 0; - $.each(users, function(index){ - count++; - }); - $userCount - .html( settings.templates.userCount(count) ) - ; - } - }, - - // add user to user list - joined: function(member) { - users = $module.data('users'); - if(member.id != 'anonymous' && users[ member.id ] === undefined ) { - users[ member.id ] = member.info; - if(settings.randomColor && member.info.color === undefined) { - member.info.color = settings.templates.color(member.id); - } - html = settings.templates.userList(member.info); - if(member.info.isAdmin) { - $(html) - .prependTo($userList) - .preview({ - type : 'user', - placement : 'left' - }) - ; - } - else { - $(html) - .appendTo($userList) - .preview({ - type : 'user', - placement : 'left' - }) - ; - } - if( $.fn.preview !== undefined ) { - $userList - .children() - .last() - .preview({ - type: 'user', - placement: 'left' - }) - ; - } - if(settings.partingMessages) { - $log - .append( settings.templates.joined(member.info) ) - ; - module.message.scroll.test(); - } - module.user.updateCount(); - } - }, - - // remove user from user list - left: function(member) { - users = $module.data('users'); - if(member !== undefined && member.id !== 'anonymous') { - delete users[ member.id ]; - $module - .data('users', users) - ; - $userList - .find('[data-id='+ member.id + ']') - .remove() - ; - if(settings.partingMessages) { - $log - .append( settings.templates.left(member.info) ) - ; - module.message.scroll.test(); - } - module.user.updateCount(); - } - }, - - list: { - - // receives list of members and generates user list - create: function(members) { - users = {}; - members.each(function(member) { - if(member.id !== 'anonymous' && member.id !== 'undefined') { - if(settings.randomColor && member.info.color === undefined) { - member.info.color = settings.templates.color(member.id); - } - // sort list with admin first - html = (member.info.isAdmin) - ? settings.templates.userList(member.info) + html - : html + settings.templates.userList(member.info) - ; - users[ member.id ] = member.info; - } - }); - $module - .data('users', users) - .data('user', users[members.me.id] ) - .removeClass(className.loading) - ; - $userList - .html(html) - ; - if( $.fn.preview !== undefined ) { - $userList - .children() - .preview({ - type: 'user', - placement: 'left' - }) - ; - } - module.user.updateCount(); - $.proxy(settings.onJoin, $userList.children())(); - }, - - // shows user list - show: function() { - $log - .animate({ - width: (module.width.log - module.width.userList) - }, { - duration : settings.speed, - easing : settings.easing, - complete : module.message.scroll.move - }) - ; - }, - - // hides user list - hide: function() { - $log - .stop() - .animate({ - width: (module.width.log) - }, { - duration : settings.speed, - easing : settings.easing, - complete : module.message.scroll.move - }) - ; - } - - } - - }, - - message: { - - // handles scrolling of chat log - scroll: { - test: function() { - height = $log.prop('scrollHeight') - $log.height(); - if( Math.abs($log.scrollTop() - height) < settings.scrollArea) { - module.message.scroll.move(); - } - }, - - move: function() { - height = $log.prop('scrollHeight') - $log.height(); - $log - .scrollTop(height) - ; - } - }, - - // sends chat message - send: function(message) { - if( !module.utils.emptyString(message) ) { - $.api({ - url : settings.endpoint.message, - method : 'POST', - data : { - 'chat_message': { - content : message, - timestamp : new Date().getTime() - } - } - }); - } - }, - - // receives chat response and processes - receive: function(response) { - message = response.data; - users = $module.data('users'); - loggedInUser = $module.data('user'); - if(users[ message.userID] !== undefined) { - // logged in user's messages already pushed instantly - if(loggedInUser === undefined || loggedInUser.id != message.userID) { - message.user = users[ message.userID ]; - module.message.display(message); - } - } - }, - - // displays message in chat log - display: function(message) { - $log - .append( settings.templates.message(message) ) - ; - module.message.scroll.test(); - $.proxy(settings.onMessage, $log.children().last() )(); - } - - }, - - expand: function() { - $module - .addClass(className.expand) - ; - $.proxy(settings.onExpand, $module )(); - module.refresh(); - }, - - contract: function() { - $module - .removeClass(className.expand) - ; - $.proxy(settings.onContract, $module )(); - module.refresh(); - }, - - event: { - - input: { - - keydown: function(event) { - if(event.which == 13) { - $messageButton - .addClass(className.down) - ; - } - }, - - keyup: function(event) { - if(event.which == 13) { - $messageButton - .removeClass(className.down) - ; - module.event.submit(); - } - } - - }, - - // handles message form submit - submit: function() { - var - message = $messageInput.val(), - loggedInUser = $module.data('user') - ; - if(loggedInUser !== undefined && !module.utils.emptyString(message)) { - module.message.send(message); - // display immediately - module.message.display({ - user: loggedInUser, - text: message - }); - module.message.scroll.move(); - $messageInput - .val('') - ; - - } - }, - - // handles button click on expand button - toggleExpand: function() { - if( !$module.hasClass(className.expand) ) { - $expandButton - .addClass(className.active) - ; - module.expand(); - } - else { - $expandButton - .removeClass(className.active) - ; - module.contract(); - } - }, - - // handles button click on user list button - toggleUserList: function() { - if( !$log.is(':animated') ) { - if( !$userListButton.hasClass(className.active) ) { - $userListButton - .addClass(className.active) - ; - module.user.list.show(); - } - else { - $userListButton - .removeClass('active') - ; - module.user.list.hide(); - } - } - - } - }, - - utils: { - - emptyString: function(string) { - if(typeof string == 'string') { - return (string.search(/\S/) == -1); - } - return false; - } - - }, - - // standard methods - debug: function(message) { - if(settings.debug) { - console.info(settings.moduleName + ': ' + message); - } - }, - error: function(errorMessage) { - console.warn(settings.moduleName + ': ' + errorMessage); - }, - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - return ( $.isFunction( method ) ) - ? method.apply(context, methodArguments) - : false - ; - } - - }; - - if(instance !== undefined && moduleArguments) { - // simpler than invoke realizing to invoke itself (and losing scope due prototype.call() - if(moduleArguments[0] == 'invoke') { - moduleArguments = Array.prototype.slice.call( moduleArguments, 1 ); - } - return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // initializing - module.initialize(); - }) - ; - - return this; - }; - - $.fn.chat.settings = { - - moduleName : 'Chat Module', - debug : false, - namespace : 'chat', - - onJoin : function(){}, - onMessage : function(){}, - onExpand : function(){}, - onContract : function(){}, - - customEvents : {}, - - partingMessages : false, - userCount : true, - - randomColor : true, - - speed : 300, - easing : 'easeOutQuint', - - // pixels from bottom of chat log that should trigger auto scroll to bottom - scrollArea : 9999, - - endpoint : { - message : false, - authentication : false - }, - - errors: { - method : 'The method you called is not defined', - endpoint : 'Please define a message and authentication endpoint.', - key : 'You must specify a pusher key and channel.', - pusher : 'You must include the Pusher library.' - }, - - className : { - expand : 'expand', - active : 'active', - hover : 'hover', - down : 'down', - loading : 'loading' - }, - - selector : { - userCount : '.actions .message', - userListButton : '.actions .button.user-list', - expandButton : '.actions .button.expand', - room : '.room', - userList : '.room .user-list', - log : '.room .log', - message : '.room .log .message', - author : '.room log .message .author', - messageInput : '.talk input', - messageButton : '.talk .send.button' - }, - - templates: { - - userCount: function(number) { - return number + ' users in chat'; - }, - - color: function(userID) { - var - colors = [ - '#000000', - '#333333', - '#666666', - '#999999', - '#CC9999', - '#CC6666', - '#CC3333', - '#993333', - '#663333', - '#CC6633', - '#CC9966', - '#CC9933', - '#999966', - '#CCCC66', - '#99CC66', - '#669933', - '#669966', - '#33A3CC', - '#336633', - '#33CCCC', - '#339999', - '#336666', - '#336699', - '#6666CC', - '#9966CC', - '#333399', - '#663366', - '#996699', - '#993366', - '#CC6699' - ] - ; - return colors[ Math.floor( Math.random() * colors.length) ]; - }, - - message: function(message) { - var - html = '' - ; - if(message.user.isAdmin) { - message.user.color = '#55356A'; - html += '
'; - html += ''; - } - /* - else if(message.user.isPro) { - html += '
'; - html += ''; - } - */ - else { - html += '
'; - } - html += '

'; - if(message.user.color !== undefined) { - html += '' + message.user.name + ': '; - } - else { - html += '' + message.user.name + ': '; - } - html += '' - + message.text - + '

' - + '
' - ; - return html; - }, - - joined: function(member) { - return (typeof member.name !== undefined) - ? '
' + member.name + ' has joined the chat.
' - : false - ; - }, - left: function(member) { - return (typeof member.name !== undefined) - ? '
' + member.name + ' has left the chat.
' - : false - ; - }, - - userList: function(member) { - var - html = '' - ; - if(member.isAdmin) { - member.color = '#55356A'; - } - html += '' - + '
' - + '
' - + ' ' - + '
' - ; - if(member.color !== undefined) { - html += '

' + member.name + '

'; - } - else { - html += '

' + member.name + '

'; - } - html += '
'; - return html; - } - - } - - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/uncompressed/modules/checkbox.js b/node/src/files/components/semantic/uncompressed/modules/checkbox.js deleted file mode 100644 index 23fedc290..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/checkbox.js +++ /dev/null @@ -1,283 +0,0 @@ -/* ****************************** - Semantic Module: Checkbox - Author: Jack Lukic - Notes: First Commit March 25, 2013 - - Simple plug-in which maintains the state for ui checkbox - This can be done without javascript, only in instances - where each checkbox is assigned a unique ID. This provides a separate - programmatic option when that is not possible. - -****************************** */ - -;(function ( $, window, document, undefined ) { - -$.fn.checkbox = function(parameters) { - var - $allModules = $(this), - - settings = $.extend(true, {}, $.fn.checkbox.settings, parameters), - - eventNamespace = '.' + settings.namespace, - moduleNamespace = 'module-' + settings.namespace, - - selector = $allModules.selector || '', - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - invokedResponse - ; - - $allModules - .each(function() { - var - $module = $(this), - $input = $(this).find(settings.selector.input), - - selector = $module.selector || '', - element = this, - instance = $module.data('module-' + settings.namespace), - - className = settings.className, - namespace = settings.namespace, - errors = settings.errors, - module - ; - - module = { - - initialize: function() { - if(settings.context && selector !== '') { - module.verbose('Initializing checkbox with delegated events', $module); - $(element, settings.context) - .on(selector, 'click' + eventNamespace, module.toggle) - .data(moduleNamespace, module) - ; - } - else { - module.verbose('Initializing checkbox with bound events', $module); - $module - .on('click' + eventNamespace, module.toggle) - .data(moduleNamespace, module) - ; - } - }, - - destroy: function() { - module.verbose('Destroying previous module for', $module); - $module - .off(namespace) - ; - }, - - enable: function() { - module.debug('Enabling checkbox'); - $module - .addClass(className.active) - ; - $input - .prop('checked', true) - ; - $.proxy(settings.onChange, $input.get())(); - $.proxy(settings.onEnable, $input.get())(); - }, - - disable: function() { - module.debug('Disabling checkbox'); - $module - .removeClass(className.active) - ; - $input - .prop('checked', false) - ; - $.proxy(settings.onChange, $input.get())(); - $.proxy(settings.onDisable, $input.get())(); - }, - - toggle: function() { - if( $input.prop('checked') === undefined || !$input.prop('checked') ) { - module.enable(); - } - else { - module.disable(); - } - }, - - setting: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(settings.debug) { - module.performance.log(arguments[0]); - module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':'); - } - }, - verbose: function() { - if(settings.verbose && settings.debug) { - module.performance.log(arguments[0]); - module.verbose = Function.prototype.bind.call(console.info, console, settings.moduleName + ':'); - } - }, - error: function() { - if(console.log !== undefined) { - module.error = Function.prototype.bind.call(console.log, console, settings.moduleName + ':'); - } - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime, - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Element' : element, - 'Name' : message, - 'Execution Time' : executionTime - }); - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 100); - } - }, - display: function() { - var - title = settings.moduleName, - caption = settings.moduleName + ': ' + selector + '(' + $allModules.size() + ' elements)', - totalExecutionTime = 0 - ; - if(selector) { - title += 'Performance (' + selector + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - $.each(performance, function(index, data) { - totalExecutionTime += data['Execution Time']; - }); - console.table(performance); - } - else { - $.each(performance, function(index, data) { - totalExecutionTime += data['Execution Time']; - }); - } - console.log('Total Execution Time:', totalExecutionTime +'ms'); - console.groupEnd(); - performance = []; - time = false; - } - } - }, - invoke: function(query, passedArguments, context) { - var - maxDepth, - found - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - module.verbose('Executing invoked function', found); - return found.apply(context, passedArguments); - } - return found || false; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - invokedResponse = module.invoke(query); - } - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - return (invokedResponse) - ? invokedResponse - : this - ; -}; - -$.fn.checkbox.settings = { - - moduleName : 'Checkbox Module', - namespace : 'checkbox', - - verbose : true, - debug : true, - performance : true, - - // delegated event context - context : false, - - onChange : function(){}, - onEnable : function(){}, - onDisable : function(){}, - - errors : { - method : 'The method you called is not defined.' - }, - - selector : { - input : 'input' - }, - - className : { - active : 'active' - } - -}; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/uncompressed/modules/modal.js b/node/src/files/components/semantic/uncompressed/modules/modal.js deleted file mode 100644 index d3f674ad4..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/modal.js +++ /dev/null @@ -1,354 +0,0 @@ -/* ****************************** - Modal - Author: Jack Lukic - Notes: First Commit May 14, 2012 - - Manages modal state and - stage dimming - -****************************** */ - -;(function ( $, window, document, undefined ) { - - $.dimScreen = function(parameters) { - var - // if parameter is string it is callback function - settings = (typeof parameters == 'function') - ? $.extend({}, $.fn.modal.settings, { dim: parameters }) - : $.extend({}, $.fn.modal.settings, parameters), - - $context = $(settings.context), - $dimmer = $context.children(settings.selector.dimmer), - dimmerExists = ($dimmer.size() > 0), - currentOpacity = $dimmer.css('opacity') - ; - if(!dimmerExists) { - $dimmer = $('
') - .attr('id','dimmer') - .html('
') - ; - $context - .append($dimmer) - ; - } - if(currentOpacity != settings.opacity) { - $dimmer - .one('click', function() { - settings.unDim(); - $.unDimScreen(); - }) - ; - if(settings.duration === 0) { - $dimmer - .css({ - visibility : 'visible' - }) - .find('.content') - .css({ - opacity : settings.opacity, - visibility : 'visible' - }) - ; - } - else { - $dimmer - .css({ - visibility : 'visible' - }) - .find('.content') - .css({ - opacity : 0, - visibility : 'visible' - }) - .fadeTo(settings.duration, settings.opacity, settings.dim) - ; - } - } - return this; - }; - $.unDimScreen = function(parameters) { - var - settings = (typeof parameters == 'function') - ? $.extend({}, $.fn.modal.settings, { unDim: parameters }) - : $.extend({}, $.fn.modal.settings, parameters), - - $context = $(settings.context), - $dimmer = $context.children(settings.selector.dimmer), - dimmerExists = ($dimmer.size() > 0) - ; - if(dimmerExists) { - // callback before unDim - settings.unDim(); - if(settings.duration === 0) { - $dimmer - .css({ - visibility: 'hidden' - }) - .remove() - ; - } - else { - $dimmer - .find('.content') - .fadeTo(settings.duration, 0, function(){ - $dimmer.remove(); - }) - ; - } - } - return this; - }; - - $.fn.modal = function(parameters) { - var - settings = $.extend(true, {}, $.fn.modal.settings, parameters), - // make arguments available - query = arguments[0], - passedArguments = [].slice.call(arguments, 1), - invokedResponse - ; - - $(this) - .each(function() { - var - $modal = $(this), - - $closeButton = $modal.find(settings.selector.closeButton), - $dimmer = $(settings.context).find(settings.selector.dimmer), - $modals = $(settings.context).children(settings.selector.modal), - $otherModals = $modals.not($modal), - - instance = $modal.data('module-' + settings.namespace), - methodInvoked = (typeof query == 'string'), - - className = settings.className, - namespace = settings.namespace, - - module - ; - - module = { - - initialize: function() { - // attach events - $modal - .on('modalShow.' + namespace, module.show) - .on('modalHide.' + namespace, module.hide) - .data('module-' + namespace, module) - ; - }, - - show: function() { - var - modalHeight = $modal.outerHeight(), - windowHeight = $(window).height(), - - cantFit = (modalHeight > windowHeight), - modalType = (cantFit) - ? 'absolute' - : 'fixed', - topCentering = (cantFit) - ? '0' - : '50%', - offsetTop = (cantFit) - ? (windowHeight / 8) - : -( (modalHeight - settings.closeSpacing) / 2), - - finalPosition = ($modal.css('position') == 'absolute') - ? offsetTop + $(window).prop('pageYOffset') - : offsetTop, - startPosition = finalPosition + settings.animationOffset - ; - // set top margin as offset - if($.fn.popIn !== undefined) { - $modal - .addClass(modalType) - .css({ - display : 'block', - opacity : 0, - top: topCentering, - marginTop : finalPosition + 'px' - }) - .popIn() - ; - } - else { - $modal - .addClass(modalType) - .css({ - display : 'block', - opacity : 0, - top: topCentering, - marginTop : startPosition + 'px' - }) - .animate({ - opacity : 1, - marginTop : finalPosition + 'px' - }, (settings.duration + 300), settings.easing) - ; - } - if( $otherModals.is(':visible') ) { - $otherModals - .filter(':visible') - .hide() - ; - } - $.dimScreen({ - context : settings.context, - duration : 0, - dim : function() { - $(document) - .on('keyup.' + namespace, function(event) { - var - keyCode = event.which, - escapeKey = 27 - ; - switch(keyCode) { - case escapeKey: - $modal.trigger('modalHide'); - event.preventDefault(); - break; - } - }) - ; - $closeButton - .one('click', function() { - $modal.trigger('modalHide'); - }) - ; - settings.dim(); - }, - unDim: function() { - $modal.trigger('modalHide'); - $closeButton.unbind('click'); - } - }); - }, - - hide: function() { - // remove keyboard detection - $(document) - .off('keyup.' + namespace) - ; - $.unDimScreen({ - duration: 0, - unDim: function() { - $modal - .popOut(200) - ; - settings.unDim(); - } - }); - }, - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - error: function() { - var - output = [], - errorMessage = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.warn || console.log || function(){} - ; - if(settings.debug) { - output.push(errorMessage); - output.concat(variables); - log.apply(console, output.concat(variables) ); - } - }, - invoke: function(query, context, passedArguments) { - var - maxDepth, - found - ; - passedArguments = passedArguments || [].slice.call( arguments, 2 ); - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found; - } - }; - - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(query, this, passedArguments); - } - // otherwise initialize - else { - module.initialize(); - } - }) - ; - // chain or return queried method - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; - }; - - $.fn.modal.settings = { - - moduleName : 'Modal', - debug : false, - namespace : 'modal', - - errors: { - method : 'The method you called is not defined' - }, - - dim : function(){}, - unDim : function(){}, - hide : function(){}, - show : function(){}, - - context : 'body', - opacity : 0.8, - - closeSpacing : 25, - animationOffset : 15, - - duration : 400, - easing : 'easeOutExpo', - - selector : { - dimmer : '#dimmer', - modal : '.modal', - closeButton : '.close' - } - }; - - -})( jQuery, window , document ); \ No newline at end of file diff --git a/node/src/files/components/semantic/uncompressed/modules/nag.js b/node/src/files/components/semantic/uncompressed/modules/nag.js deleted file mode 100644 index f3c0bc3a3..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/nag.js +++ /dev/null @@ -1,350 +0,0 @@ -/* ****************************** - Nag - Author: Jack Lukic - Notes: First Commit July 19, 2012 - - Simple fixed position nag -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.nag = function(parameters) { - var - settings = $.extend(true, {}, $.fn.nag.settings, parameters), - // hoist arguments - moduleArguments = arguments || false - ; - $(this) - .each(function() { - var - $module = $(this), - $close = $module.find(settings.selector.close), - - $context = $(settings.context), - - instance = $module.data('module'), - className = settings.className, - - moduleOffset, - moduleHeight, - - contextWidth, - contextHeight, - contextOffset, - - yOffset, - yPosition, - - timer, - module, - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); } - ; - module = { - - initialize: function() { - // calculate module offset once - moduleOffset = $module.offset(); - moduleHeight = $module.outerHeight(); - contextWidth = $context.outerWidth(); - contextHeight = $context.outerHeight(); - contextOffset = $context.offset(); - - $module - .data('module', module) - ; - $close - .on('mouseenter mouseleave', module.event.hover) - .on('click', module.dismiss) - ; - // lets avoid javascript if we dont need to reposition - if(settings.context == window && settings.position == 'fixed') { - $module - .addClass(className.fixed) - ; - } - if(settings.sticky) { - // retrigger on scroll for absolute - if(settings.position == 'absolute') { - $context - .on('scroll resize', module.event.scroll) - ; - } - // fixed is always relative to window - else { - $(window) - .on('scroll resize', module.event.scroll) - ; - } - // fire once to position on init - $.proxy(module.event.scroll, this)(); - } - if(settings.followLink) { - $module - .on('mouseenter mouseleave', module.event.hover) - .on('click', module.followLink) - ; - } - - if(settings.displayTime > 0) { - setTimeout(module.hide, settings.displayTime); - } - if(module.should.show()) { - if( !$module.is(':visible') ) { - module.show(); - } - } - else { - module.hide(); - } - }, - - refresh: function() { - moduleOffset = $module.offset(); - moduleHeight = $module.outerHeight(); - contextWidth = $context.outerWidth(); - contextHeight = $context.outerHeight(); - contextOffset = $context.offset(); - }, - - show: function() { - if($.fn.popIn !== undefined) { - $module - .popIn(settings.duration) - ; - } - else { - $module - .fadeIn(settings.duration, settings.easing) - ; - } - }, - hide: function() { - $module - .fadeOut(settings.duration, settings.easing) - ; - }, - - stick: function() { - module.refresh(); - - if(settings.position == 'fixed') { - var - windowScroll = $(window).prop('pageYOffset') || $(window).scrollTop(), - fixedOffset = ( $module.hasClass(className.bottom) ) - ? contextOffset.top + (contextHeight - moduleHeight) - windowScroll - : contextOffset.top - windowScroll - ; - $module - .css({ - position : 'fixed', - top : fixedOffset, - left : contextOffset.left, - width : contextWidth - settings.scrollBarWidth - }) - ; - } - else { - $module - .css({ - top : yPosition - }) - ; - } - }, - unStick: function() { - $module - .css({ - top : '' - }) - ; - }, - dismiss: function() { - if(settings.storageMethod) { - module.storage.set(settings.storedKey, settings.storedValue); - } - module.hide(); - }, - - should: { - show: function() { - if( module.storage.get(settings.storedKey) == settings.storedValue) { - return false; - } - return true; - }, - stick: function() { - yOffset = $context.prop('pageYOffset') || $context.scrollTop(); - yPosition = ( $module.hasClass(className.bottom) ) - ? (contextHeight - $module.outerHeight() ) + yOffset - : yOffset - ; - // absolute position calculated when y offset met - if(yPosition > moduleOffset.top) { - return true; - } - else if(settings.position == 'fixed') { - return true; - } - return false; - } - }, - - followLink: function() { - if($.fn.followLink !== undefined) { - $module - .followLink() - ; - } - }, - - storage: { - - set: function(key, value) { - if(settings.storageMethod == 'local' && store !== undefined) { - store.set(key, value); - } - // store by cookie - else if($.cookie !== undefined) { - $.cookie(key, value); - } - else { - module.error(settings.errors.noStorage); - } - }, - get: function(key) { - if(settings.storageMethod == 'local' && store !== undefined) { - return store.get(key); - } - // get by cookie - else if($.cookie !== undefined) { - return $.cookie(key); - } - else { - module.error(settings.errors.noStorage); - } - } - - }, - - event: { - hover: function() { - $(this) - .toggleClass(className.hover) - ; - }, - scroll: function() { - if(timer !== undefined) { - clearTimeout(timer); - } - timer = setTimeout(function() { - if(module.should.stick() ) { - requestAnimationFrame(module.stick); - } - else { - module.unStick(); - } - }, settings.lag); - } - }, - - error: function(error) { - console.log('Nag Module:' + error); - }, - - // allows for dot notation method calls - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( method ) ) { - return method.apply(context, methodArguments); - } - // return retrieved variable or chain - return method; - } - - }; - - if(instance !== undefined && moduleArguments) { - if(moduleArguments[0] == 'invoke') { - moduleArguments = Array.prototype.slice.call( moduleArguments, 1 ); - } - return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - module.initialize(); - - }) - ; - return this; - }; - - $.fn.nag.settings = { - - // set to zero to manually dismiss, otherwise hides on its own - displayTime : 0, - - // if there is a link to follow - followLink : true, - - // method of stickyness - position : 'fixed', - scrollBarWidth : 18, - - // type of storage to use - storageMethod : 'cookie', - - // value to store in dismissed localstorage/cookie - storedKey : 'nag', - storedValue : 'dismiss', - - // need to calculate stickyness on scroll - sticky : true, - - // how often to check scroll event - lag : 0, - - // context for scroll event - context : window, - - errors: { - noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state', - followLink : 'Follow link is set but the plugin is not included' - }, - - className : { - bottom : 'bottom', - hover : 'hover', - fixed : 'fixed' - }, - - selector : { - close: '.icon.close' - }, - - speed : 500, - easing : 'easeOutQuad' - - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/uncompressed/modules/popup.js b/node/src/files/components/semantic/uncompressed/modules/popup.js deleted file mode 100644 index 9fa717cfd..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/popup.js +++ /dev/null @@ -1,590 +0,0 @@ -/* ****************************** - Tooltip / Popup - Author: Jack Lukic - Notes: First Commit Sep 07, 2012 -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.popup = function(parameters) { - var - settings = $.extend(true, {}, $.fn.popup.settings, parameters), - // make arguments available - moduleArguments = arguments || false, - invokedResponse - ; - $(this) - .each(function() { - var - $module = $(this), - $window = $(window), - $offsetParent = $module.offsetParent(), - $popup = (settings.inline) - ? $module.next(settings.selector.popup) - : $window.children(settings.selector.popup).last(), - - timer, - recursionDepth = 0, - - instance = $module.data('module-' + settings.namespace), - methodInvoked = (instance !== undefined && typeof parameters == 'string'), - - selector = settings.selector, - className = settings.className, - errors = settings.errors, - metadata = settings.metadata, - namespace = settings.namespace, - module - ; - - module = { - - // binds events - initialize: function() { - if(settings.event == 'hover') { - $module - .on('mouseenter.' + namespace, module.event.mouseenter) - .on('mouseleave.' + namespace, module.event.mouseleave) - ; - } - else { - $module - .on(settings.event + '.' + namespace, module.event[settings.event]) - ; - } - $window - .on('resize.' + namespace, module.event.resize) - ; - $module - .data('module-' + namespace, module) - ; - }, - - refresh: function() { - $popup = (settings.inline) - ? $module.next(selector.popup) - : $window.children(selector.popup).last() - ; - $offsetParent = $module.offsetParent(); - }, - - destroy: function() { - module.debug('Destroying existing popups'); - $module - .off('.' + namespace) - ; - $popup - .remove() - ; - }, - - event: { - mouseenter: function(event) { - var element = this; - timer = setTimeout(function() { - $.proxy(module.toggle, element)(); - if( $(element).hasClass(className.visible) ) { - event.stopPropagation(); - } - }, settings.delay); - }, - mouseleave: function(event) { - clearTimeout(timer); - if( $module.is(':visible') ) { - module.hide(); - } - }, - click: function(event) { - $.proxy(module.toggle, this)(); - if( $(this).hasClass(className.visible) ) { - event.stopPropagation(); - } - }, - resize: function() { - if( $popup.is(':visible') ) { - module.position(); - } - } - }, - - // generates popup html from metadata - create: function() { - module.debug('Creating pop-up content'); - var - html = $module.data(metadata.html) || settings.html, - title = $module.data(metadata.title) || settings.title, - content = $module.data(metadata.content) || $module.attr('title') || settings.content - ; - if(html || content || title) { - if(!html) { - html = settings.template({ - title : title, - content : content - }); - } - $popup = $('
') - .addClass(className.popup) - .html(html) - ; - if(settings.inline) { - $popup - .insertAfter($module) - ; - } - else { - $popup - .appendTo( $('body') ) - ; - } - } - else { - module.error(errors.content); - } - }, - - remove: function() { - $popup - .remove() - ; - }, - - get: { - offstagePosition: function() { - var - boundary = { - top : $(window).scrollTop(), - bottom : $(window).scrollTop() + $(window).height(), - left : 0, - right : $(window).width() - }, - popup = { - width : $popup.outerWidth(), - height : $popup.outerHeight(), - position : $popup.offset() - }, - offstage = {}, - offstagePositions = [] - ; - if(popup.position) { - offstage = { - top : (popup.position.top < boundary.top), - bottom : (popup.position.top + popup.height > boundary.bottom), - right : (popup.position.left + popup.width > boundary.right), - left : (popup.position.left < boundary.left) - }; - } - // return only boundaries that have been surpassed - $.each(offstage, function(direction, isOffstage) { - if(isOffstage) { - offstagePositions.push(direction); - } - }); - return (offstagePositions.length > 0) - ? offstagePositions.join(' ') - : false - ; - }, - nextPosition: function(position) { - switch(position) { - case 'top left': - position = 'bottom left'; - break; - case 'bottom left': - position = 'top right'; - break; - case 'top right': - position = 'bottom right'; - break; - case 'bottom right': - position = 'top center'; - break; - case 'top center': - position = 'bottom center'; - break; - case 'bottom center': - position = 'right center'; - break; - case 'right center': - position = 'left center'; - break; - case 'left center': - position = 'top center'; - break; - } - return position; - } - }, - - // determines popup state - toggle: function() { - $module = $(this); - module.debug('Toggling pop-up'); - // refresh state of module - module.refresh(); - if($popup.size() === 0) { - module.create(); - } - if( !$module.hasClass(className.visible) ) { - if( module.position() ) { - module.show(); - } - } - else { - module.hide(); - } - }, - - position: function(position, arrowOffset) { - var - windowWidth = $(window).width(), - windowHeight = $(window).height(), - width = $module.outerWidth(), - height = $module.outerHeight(), - popupWidth = $popup.outerWidth(), - popupHeight = $popup.outerHeight(), - - offset = (settings.inline) - ? $module.position() - : $module.offset(), - parentWidth = (settings.inline) - ? $offsetParent.outerWidth() - : $window.outerWidth(), - parentHeight = (settings.inline) - ? $offsetParent.outerHeight() - : $window.outerHeight(), - - positioning, - offstagePosition - ; - position = position || $module.data(metadata.position) || settings.position; - arrowOffset = arrowOffset || $module.data(metadata.arrowOffset) || settings.arrowOffset; - module.debug('Calculating offset for position', position); - switch(position) { - case 'top left': - positioning = { - top : 'auto', - bottom : parentHeight - offset.top + settings.distanceAway, - left : offset.left + arrowOffset - }; - break; - case 'top center': - positioning = { - bottom : parentHeight - offset.top + settings.distanceAway, - left : offset.left + (width / 2) - (popupWidth / 2) + arrowOffset, - top : 'auto', - right : 'auto' - }; - break; - case 'top right': - positioning = { - bottom : parentHeight - offset.top + settings.distanceAway, - right : parentWidth - offset.left - width - arrowOffset, - top : 'auto', - left : 'auto' - }; - break; - case 'left center': - positioning = { - top : offset.top + (height / 2) - (popupHeight / 2), - right : parentWidth - offset.left + settings.distanceAway - arrowOffset, - left : 'auto', - bottom : 'auto' - }; - break; - case 'right center': - positioning = { - top : offset.top + (height / 2) - (popupHeight / 2), - left : offset.left + width + settings.distanceAway + arrowOffset, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom left': - positioning = { - top : offset.top + height + settings.distanceAway, - left : offset.left + arrowOffset, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom center': - positioning = { - top : offset.top + height + settings.distanceAway, - left : offset.left + (width / 2) - (popupWidth / 2) + arrowOffset, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom right': - positioning = { - top : offset.top + height + settings.distanceAway, - right : parentWidth - offset.left - width - arrowOffset, - left : 'auto', - bottom : 'auto' - }; - break; - } - // true width on popup, avoid rounding error - $.extend(positioning, { - width: $popup.width() + 1 - }); - // tentatively place on stage - $popup - .removeAttr('style') - .removeClass('top right bottom left center') - .css(positioning) - .addClass(position) - .addClass(className.loading) - ; - // check if is offstage - offstagePosition = module.get.offstagePosition(); - // recursively find new positioning - if(offstagePosition) { - module.debug('Element is outside boundaries ', offstagePosition); - if(recursionDepth < settings.maxRecursion) { - position = module.get.nextPosition(position); - recursionDepth++; - module.debug('Trying new position: ', position); - return module.position(position); - } - else { - module.error(errors.recursion); - recursionDepth = 0; - return false; - } - } - else { - module.debug('Position is on stage', position); - recursionDepth = 0; - return true; - } - }, - - show: function() { - module.debug('Showing pop-up'); - $(selector.popup) - .filter(':visible') - .stop() - .fadeOut(200) - .prev($module) - .removeClass(className.visible) - ; - $module - .addClass(className.visible) - ; - $popup - .removeClass(className.loading) - ; - if(settings.animation == 'pop' && $.fn.popIn !== undefined) { - $popup - .stop() - .popIn(settings.duration, settings.easing) - ; - } - else { - $popup - .stop() - .fadeIn(settings.duration, settings.easing) - ; - } - if(settings.event == 'click' && settings.clicktoClose) { - module.debug('Binding popup close event'); - $(document) - .on('click.' + namespace, module.gracefully.hide) - ; - } - $.proxy(settings.onShow, $popup)(); - }, - - hide: function() { - $module - .removeClass(className.visible) - ; - if($popup.is(':visible') ) { - module.debug('Hiding pop-up'); - if(settings.animation == 'pop' && $.fn.popOut !== undefined) { - $popup - .stop() - .popOut(settings.duration, settings.easing, function() { - $popup.hide(); - }) - ; - } - else { - $popup - .stop() - .fadeOut(settings.duration, settings.easing) - ; - } - } - if(settings.event == 'click' && settings.clicktoClose) { - $(document) - .off('click.' + namespace) - ; - } - $.proxy(settings.onHide, $popup)(); - if(!settings.inline) { - module.remove(); - } - }, - - gracefully: { - hide: function(event) { - // don't close on clicks inside popup - if( $(event.target).closest(selector.popup).size() === 0) { - module.hide(); - } - } - }, - - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - error: function() { - var - output = [], - errorMessage = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.warn || console.log || function(){} - ; - if(settings.debug) { - output.push(errorMessage); - output.concat(variables); - log.apply(console, output.concat(variables) ); - } - }, - invoke: function(query, context, passedArguments) { - var - maxDepth, - found - ; - passedArguments = passedArguments || [].slice.call( arguments, 2 ); - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found; - } - - }; - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // otherwise initialize - else { - if(instance) { - module.destroy(); - } - module.initialize(); - } - }) - ; - // chain or return queried method - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; - }; - - $.fn.popup.settings = { - - moduleName : 'Pop-up Module', - debug : true, - namespace : 'popup', - - onShow : function(){}, - onHide : function(){}, - - content : false, - html : false, - title : false, - - position : 'top center', - delay : 0, - inline : true, - - duration : 250, - easing : 'easeOutQuint', - animation : 'pop', - - errors: { - content : 'Warning: Your popup has no content specified', - method : 'The method you called is not defined.', - recursion : 'Popup attempted to reposition element to fit, but could not find an adequate position.' - }, - - distanceAway : 2, - arrowOffset : 0, - - maxRecursion : 10, - - event : 'hover', - clicktoClose : true, - - metadata: { - content : 'content', - html : 'html', - title : 'title', - position : 'position', - arrowOffset : 'arrowOffset' - }, - - className : { - popup : 'ui popup', - visible : 'visible', - loading : 'loading' - }, - - selector : { - popup : '.ui.popup' - }, - - template: function(text) { - var html = ''; - if(typeof text !== undefined) { - if(typeof text.title !== undefined && text.title) { - html += '

' + text.title + '

'; - } - if(typeof text.content !== undefined && text.content) { - html += '
' + text.content + '
'; - } - } - return html; - } - - }; - -})( jQuery, window , document ); \ No newline at end of file diff --git a/node/src/files/components/semantic/uncompressed/modules/search.js b/node/src/files/components/semantic/uncompressed/modules/search.js deleted file mode 100644 index 63e1da670..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/search.js +++ /dev/null @@ -1,670 +0,0 @@ -/* ****************************** - Search Prompt - Author: Jack Lukic - Notes: First Commit July 19, 2012 - - Designed to be used as an autocomplete - or to deliver quick inline search results -****************************** */ - -;(function ($, window, document, undefined) { - -$.fn.searchPrompt = function(source, parameters) { - var - settings = $.extend(true, {}, $.fn.searchPrompt.settings, parameters), - // make arguments available - query = arguments[0], - passedArguments = [].slice.call(arguments, 1), - invokedResponse - ; - $(this) - .each(function() { - var - $module = $(this), - $searchPrompt = $module.find(settings.selector.searchPrompt), - $searchButton = $module.find(settings.selector.searchButton), - $searchResults = $module.find(settings.selector.searchResults), - $result = $module.find(settings.selector.result), - $category = $module.find(settings.selector.category), - $emptyResult = $module.find(settings.selector.emptyResult), - $resultPage = $module.find(settings.selector.resultPage), - - element = this, - selector = $module.selector || '', - instance = $module.data('module-' + settings.namespace), - methodInvoked = (instance !== undefined && typeof query == 'string'), - - className = settings.className, - namespace = settings.namespace, - errors = settings.errors, - module - ; - module = { - - initialize: function() { - var - searchPrompt = $searchPrompt[0], - inputEvent = (searchPrompt.oninput !== undefined) - ? 'input' - : (searchPrompt.onpropertychange !== undefined) - ? 'propertychange' - : 'keyup' - ; - // attach events - $searchPrompt - .on('focus.' + namespace, module.event.focus) - .on('blur.' + namespace, module.event.blur) - .on('keydown.' + namespace, module.handleKeyboard) - ; - if(settings.automatic) { - $searchPrompt - .on(inputEvent + '.' + namespace, module.search.throttle) - ; - } - $searchButton - .on('click.' + namespace, module.search.query) - ; - $searchResults - .on('click.' + namespace, settings.selector.result, module.results.select) - ; - $module - .data('module-' + namespace, module) - ; - }, - event: { - focus: function() { - $module - .addClass(className.focus) - ; - module.results.show(); - }, - blur: function() { - module.search.cancel(); - $module - .removeClass(className.focus) - ; - module.results.hide(); - } - }, - handleKeyboard: function(event) { - var - // force latest jq dom - $result = $module.find(settings.selector.result), - $category = $module.find(settings.selector.category), - keyCode = event.which, - keys = { - backspace : 8, - enter : 13, - escape : 27, - upArrow : 38, - downArrow : 40 - }, - activeClass = className.active, - currentIndex = $result.index( $result.filter('.' + activeClass) ), - resultSize = $result.size(), - newIndex - ; - // search shortcuts - if(keyCode == keys.escape) { - $searchPrompt - .trigger('blur') - ; - } - // result shortcuts - if($searchResults.filter(':visible').size() > 0) { - if(keyCode == keys.enter) { - if( $result.filter('.' + activeClass).exists() ) { - $.proxy(module.results.select, $result.filter('.' + activeClass) )(); - event.preventDefault(); - return false; - } - } - else if(keyCode == keys.upArrow) { - newIndex = (currentIndex - 1 < 0) - ? currentIndex - : currentIndex - 1 - ; - $category - .removeClass(activeClass) - ; - $result - .removeClass(activeClass) - .eq(newIndex) - .addClass(activeClass) - .closest($category) - .addClass(activeClass) - ; - event.preventDefault(); - } - else if(keyCode == keys.downArrow) { - newIndex = (currentIndex + 1 >= resultSize) - ? currentIndex - : currentIndex + 1 - ; - $category - .removeClass(activeClass) - ; - $result - .removeClass(activeClass) - .eq(newIndex) - .addClass(activeClass) - .closest($category) - .addClass(activeClass) - ; - event.preventDefault(); - } - } - else { - // query shortcuts - if(keyCode == keys.enter) { - module.search.query(); - $searchButton - .addClass(className.down) - ; - $searchPrompt - .one('keyup', function(){ - $searchButton - .removeClass(className.down) - ; - }) - ; - } - } - }, - search: { - cancel: function() { - var - xhr = $module.data('xhr') || false - ; - if( xhr && xhr.state() != 'resolved') { - xhr.abort(); - } - }, - throttle: function(event) { - var - searchTerm = $searchPrompt.val(), - numCharacters = searchTerm.length, - timer - ; - clearTimeout($module.data('timer')); - if(numCharacters >= settings.minCharacters) { - timer = setTimeout(module.search.query, settings.searchThrottle); - $module - .data('timer', timer) - ; - } - else { - module.results.hide(); - } - }, - query: function() { - var - searchTerm = $searchPrompt.val(), - cachedHTML = module.search.cache.read(searchTerm) - ; - if(cachedHTML) { - module.debug("Reading result for '" + searchTerm + "' from cache"); - module.results.add(cachedHTML); - } - else { - module.debug("Querying for '" + searchTerm + "'"); - if(typeof source == 'object') { - module.search.local(searchTerm); - } - else { - module.search.remote(searchTerm); - } - $.proxy(settings.onSearchQuery, $module)(searchTerm); - } - }, - local: function(searchTerm) { - var - searchResults = [], - fullTextResults = [], - searchFields = $.isArray(settings.searchFields) - ? settings.searchFields - : [settings.searchFields], - - searchRegExp = new RegExp('(?:\s|^)' + searchTerm, 'i'), - fullTextRegExp = new RegExp(searchTerm, 'i'), - searchHTML - ; - $module - .addClass(className.loading) - ; - // iterate through search fields in array order - $.each(searchFields, function(index, field) { - $.each(source, function(label, thing) { - if(typeof thing[field] == 'string' && ($.inArray(thing, searchResults) == -1) && ($.inArray(thing, fullTextResults) == -1) ) { - if( searchRegExp.test( thing[field] ) ) { - searchResults.push(thing); - } - else if( fullTextRegExp.test( thing[field] ) ) { - fullTextResults.push(thing); - } - } - }); - }); - searchHTML = module.results.generate({ - results: $.merge(searchResults, fullTextResults) - }); - $module - .removeClass(className.loading) - ; - module.search.cache.write(searchTerm, searchHTML); - module.results.add(searchHTML); - }, - remote: function(searchTerm) { - var - xhr = ($module.data('xhr') !== undefined) - ? $module.data('xhr') - : false, - apiSettings = { - stateContext : $module, - url : source, - urlData: { query: searchTerm }, - success : function(response) { - searchHTML = module.results.generate(response); - module.search.cache.write(searchTerm, searchHTML); - module.results.add(searchHTML); - }, - failure : module.error - }, - searchHTML - ; - // api attaches xhr event to context, use this to prevent overlapping queries - if( xhr && xhr.state() != 'resolved') { - xhr.abort(); - } - $.extend(true, apiSettings, settings.apiSettings); - $.api(apiSettings); - }, - - cache: { - read: function(name) { - var - cache = $module.data('cache') - ; - return (settings.cache && (typeof cache == 'object') && (cache[name] !== undefined) ) - ? cache[name] - : false - ; - }, - write: function(name, value) { - var - cache = ($module.data('cache') !== undefined) - ? $module.data('cache') - : {} - ; - cache[name] = value; - $module - .data('cache', cache) - ; - } - } - }, - - results: { - generate: function(response) { - module.debug('Generating html from response', response); - var - template = settings.templates[settings.type], - html = '' - ; - if(($.isPlainObject(response.results) && !$.isEmptyObject(response.results)) || ($.isArray(response.results) && response.results.length > 0) ) { - if(settings.maxResults > 0) { - response.results = $.makeArray(response.results).slice(0, settings.maxResults); - } - if(response.results.length > 0) { - if($.isFunction(template)) { - html = template(response); - } - else { - module.error(errors.noTemplate, false); - } - } - } - else { - html = module.message(errors.noResults, 'empty'); - } - $.proxy(settings.onSearchResults, $module)(response); - return html; - }, - add: function(html) { - if(settings.onResultsAdd == 'default' || $.proxy(settings.onResultsAdd, $searchResults)(html) == 'default') { - $searchResults - .html(html) - ; - } - module.results.show(); - }, - show: function() { - if( ($searchResults.filter(':visible').size() === 0) && ($searchPrompt.filter(':focus').size() > 0) && $searchResults.html() !== '') { - $searchResults - .stop() - .fadeIn(200) - ; - $.proxy(settings.onResultsOpen, $searchResults)(); - } - }, - hide: function() { - if($searchResults.filter(':visible').size() > 0) { - $searchResults - .stop() - .fadeOut(200) - ; - $.proxy(settings.onResultsClose, $searchResults)(); - } - }, - followLink: function() { - - }, - select: function(event) { - module.debug('Search result selected'); - var - $result = $(this), - $title = $result.find('.title'), - title = $title.html() - ; - if(settings.onSelect == 'default' || $.proxy(settings.onSelect, this)(event) == 'default') { - var - $link = $result.find('a[href]').eq(0), - href = $link.attr('href'), - target = $link.attr('target') - ; - try { - module.results.hide(); - $searchPrompt - .val(title) - ; - if(target == '_blank' || event.ctrlKey) { - window.open(href); - } - else { - window.location.href = (href); - } - } - catch(error) {} - } - } - }, - - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - // displays mesage visibly in search results - message: function(text, type) { - type = type || 'standard'; - module.results.add( settings.templates.message(text, type) ); - return settings.templates.message(text, type); - }, - // update view with error message - error: function(errorMessage, escalate) { - // show user error message - escalate = (escalate !== undefined) - ? escalate - : true - ; - console.warn(settings.moduleName + ': ' + errorMessage); - if(escalate && errorMessage !== undefined) { - module.message(errorMessage, 'error'); - } - }, - invoke: function(query, context, passedArguments) { - var - maxDepth, - found - ; - passedArguments = passedArguments || [].slice.call( arguments, 2 ); - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found; - } - }; - - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(query, element, passedArguments); - } - // otherwise initialize - else { - module.initialize(); - } - }) - ; - // chain or return queried method - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; -}; - - $.fn.searchPrompt.settings = { - - moduleName : 'Search Module', - debug : true, - namespace : 'search', - - // onSelect default action is defined in module - onSelect : 'default', - onResultsAdd : 'default', - - onSearchQuery : function(){}, - onSearchResults : function(response){}, - - onResultsOpen : function(){}, - onResultsClose : function(){}, - - automatic : 'true', - type : 'simple', - minCharacters : 3, - searchThrottle : 300, - maxResults : 7, - cache : true, - - searchFields : ['title', 'description'], - - // api config - apiSettings: { - - }, - - className: { - active : 'active', - down : 'down', - focus : 'focus', - empty : 'empty', - loading : 'loading' - }, - - errors : { - noResults : 'Your search returned no results', - logging : 'Error in debug logging, exiting.', - noTemplate : 'A valid template name was not specified.', - serverError : 'There was an issue with querying the server.', - method : 'The method you called is not defined.' - }, - - selector : { - searchPrompt : '.prompt', - searchButton : '.search.button', - searchResults : '.results', - - category : '.category', - result : '.result', - - emptyResult : '.results .message', - resultPage : '.results .page' - }, - - templates: { - message: function(message, type) { - var - html = '' - ; - if(message !== undefined && type !== undefined) { - html += '' - + '
' - + '
' - ; - // message type - if(type == 'empty') { - html += '' - + '

No Results

' - + '

' + message + '

' - ; - } - else { - html += '
' + message + '
'; - } - html += '
'; - } - return html; - }, - categories: function(response) { - var - html = '' - ; - if(response.results !== undefined) { - // each category - $.each(response.results, function(index, category) { - if(category.results !== undefined && category.results.length > 0) { - html += '' - + '
' - + '
' + category.name + '
' - + '
    ' - ; - // each item inside category - $.each(category.results, function(index, result) { - html += '
  • '; - html += ''; - if(result.image !== undefined) { - html+= '' - + '
    ' - + ' ' - + '
    ' - ; - } - html += (result.image !== undefined) - ? '
    ' - : '
    ' - ; - if(result.price !== undefined) { - html+= '
    ' + result.price + '
    '; - } - if(result.title !== undefined) { - html+= '
    ' + result.title + '
    '; - } - if(result.description !== undefined) { - html+= '
    ' + result.description + '
    '; - } - html += '' - + '
    ' - + '
  • ' - ; - }); - html += '' - + '
' - + '
' - ; - } - }); - if(response.resultPage) { - html += '' - + '' - + response.resultPage.text - + ''; - } - return html; - } - return false; - }, - simple: function(response) { - var - html = '' - ; - if(response.results !== undefined) { - html += '
    '; - // each result - $.each(response.results, function(index, result) { - html += '
  • '; - - if(result.url !== undefined) { - html += ''; - } - if(result.image !== undefined) { - html+= '' - + '
    ' - + ' ' - + '
    ' - ; - } - html += (result.image !== undefined) - ? '
    ' - : '
    ' - ; - if(result.price !== undefined) { - html+= '
    ' + result.price + '
    '; - } - if(result.title !== undefined) { - html+= '
    ' + result.title + '
    '; - } - if(result.description !== undefined) { - html+= '
    ' + result.description + '
    '; - } - html += '' - + '
    ' - + '
  • ' - ; - }); - html += '
'; - - if(response.resultPage) { - html += '' - + '' - + response.resultPage.text - + ''; - } - return html; - } - return false; - } - } - }; - -})( jQuery, window , document ); \ No newline at end of file diff --git a/node/src/files/components/semantic/uncompressed/modules/shape.js b/node/src/files/components/semantic/uncompressed/modules/shape.js deleted file mode 100644 index 0dc0b6913..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/shape.js +++ /dev/null @@ -1,640 +0,0 @@ -/* ******************************************************************************************* - - Shape - A 3D Animation Plugin - Version 0.1 - (built using Semantic module spec) - - Author : Jack Lukic - Last revision : April 2013 - -********************************************************************************************* */ - -;(function ( $, window, document, undefined ) { - -$.fn.shape = function(parameters) { - var - $allModules = $(this), - - settings = $.extend(true, {}, $.fn.shape.settings, parameters), - - // define namespaces for modules - eventNamespace = '.' + settings.namespace, - moduleNamespace = 'module-' + settings.namespace, - - // allow methods to be queried directly - query = arguments[0], - queryArguments = [].slice.call(arguments, 1), - methodInvoked = (typeof query == 'string'), - invokedResponse - ; - - $allModules - .each(function() { - var - // selector cache - $module = $(this), - $shape = $module.find(settings.selector.shape), - $side = $module.find(settings.selector.side), - - // private variables - $activeSide, - $nextSide, - endTransition = 'transitionend msTransitionEnd oTransitionEnd', - - // standard module - selector = $module.selector || '', - element = this, - instance = $module.data(moduleNamespace), - - // internal aliases - namespace = settings.namespace, - error = settings.error, - className = settings.className, - - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing module for', element); - module.set.defaultSide(); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module for', element); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - }, - - refresh: function() { - module.verbose('Refreshing selector cache for', element); - $module = $(element); - $shape = $(this).find(settings.selector.shape); - $side = $(this).find(settings.selector.side); - }, - - repaint: function() { - module.verbose('Forcing repaint event'); - var - shape = $shape.get(0) || document.createElement('div'), - fakeAssignment = shape.offsetWidth - ; - }, - - animate: function(propertyObject, callback) { - module.verbose('Animating box with properties', propertyObject); - callback = callback || function(event) { - module.reset(); - module.set.active(); - $.proxy(settings.onChange, $nextSide)(); - event.stopImmediatePropagation(); - }; - if(settings.useCSS) { - module.verbose('Starting CSS animation'); - $module - .addClass(className.animating) - ; - module.set.stageSize(); - module.repaint(); - $module - .addClass(className.css) - ; - $activeSide - .addClass(className.hidden) - ; - $shape - .css(propertyObject) - .one(endTransition, callback) - ; - } - else { - // not yet supported until .animate() is extended to allow RotateX/Y - module.verbose('Starting javascript animation'); - $module - .addClass(className.animating) - .removeClass(className.css) - ; - module.set.stageSize(); - module.repaint(); - $activeSide - .animate({ - opacity: 0 - }, settings.duration, settings.easing) - ; - $shape - .animate(propertyObject, settings.duration, settings.easing, callback) - ; - } - }, - - queue: function(method) { - module.debug('Queueing animation of', method); - $shape - .one(endTransition, function() { - module.debug('Executing queued animation'); - $module.shape(method); - }) - ; - }, - - reset: function() { - module.verbose('Animating states reset'); - $module - .removeClass(className.css) - .removeClass(className.animating) - .removeAttr('style') - ; - $shape - .removeAttr('style') - ; - $side - .removeAttr('style') - .removeClass(className.hidden) - ; - $nextSide - .removeClass(className.animating) - .removeAttr('style') - ; - }, - - is: { - - animating: function() { - return $module.hasClass(className.animating); - } - - }, - - get: { - - nextSide: function() { - return ( $activeSide.next(settings.selector.side).size() > 0 ) - ? $activeSide.next(settings.selector.side) - : $module.find(settings.selector.side).first() - ; - } - - }, - - set: { - - defaultSide: function() { - $activeSide = $module.find('.' + settings.className.active); - $nextSide = ( $activeSide.next(settings.selector.side).size() > 0 ) - ? $activeSide.next(settings.selector.side) - : $module.find(settings.selector.side).first() - ; - module.verbose('Active side set to', $activeSide); - module.verbose('Next side set to', $nextSide); - }, - - stageSize: function() { - var - stage = { - width : $nextSide.outerWidth(), - height : $nextSide.outerHeight() - } - ; - module.verbose('Resizing stage to fit new content', stage); - $module - .css({ - width : stage.width, - height : stage.height - }) - ; - }, - - nextSide: function(selector) { - $nextSide = $module.find(selector); - if($nextSide.size() === 0) { - module.error(error.side); - } - module.verbose('Next side manually set to', $nextSide); - }, - - active: function() { - module.verbose('Setting new side to active', $nextSide); - $side - .removeClass(className.active) - ; - $nextSide - .addClass(className.active) - ; - module.set.defaultSide(); - } - }, - - flip: { - - up: function() { - module.debug('Flipping up', $nextSide); - if( !module.is.animating() ) { - module.stage.above(); - module.animate( module.getTransform.up() ); - } - else { - module.queue('flip.up'); - } - }, - - down: function() { - module.debug('Flipping down', $nextSide); - if( !module.is.animating() ) { - module.stage.below(); - module.animate( module.getTransform.down() ); - } - else { - module.queue('flip.down'); - } - }, - - left: function() { - module.debug('Flipping left', $nextSide); - if( !module.is.animating() ) { - module.stage.left(); - module.animate(module.getTransform.left() ); - } - else { - module.queue('flip.left'); - } - }, - - right: function() { - module.debug('Flipping right', $nextSide); - if( !module.is.animating() ) { - module.stage.right(); - module.animate(module.getTransform.right() ); - } - else { - module.queue('flip.right'); - } - }, - - over: function() { - module.debug('Flipping over', $nextSide); - if( !module.is.animating() ) { - module.stage.behind(); - module.animate(module.getTransform.behind() ); - } - else { - module.queue('flip.over'); - } - } - - }, - - getTransform: { - - up: function() { - var - translate = { - y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - z: -($activeSide.outerHeight() / 2) - } - ; - return { - transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)' - }; - }, - - down: function() { - var - translate = { - y: -(($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - z: -($activeSide.outerHeight() / 2) - } - ; - return { - transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)' - }; - }, - - left: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2), - z : -($activeSide.outerWidth() / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)' - }; - }, - - right: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2), - z : -($activeSide.outerWidth() / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)' - }; - }, - - behind: function() { - var - translate = { - x : -(($activeSide.outerWidth() - $nextSide.outerWidth()) / 2) - } - ; - return { - transform: 'translateX(' + translate.x + 'px) rotateY(180deg)' - }; - } - - }, - - stage: { - - above: function() { - var - box = { - origin : (($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - depth : { - active : ($nextSide.outerHeight() / 2), - next : ($activeSide.outerHeight() / 2) - } - } - ; - module.verbose('Setting the initial animation position as above', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'top' : box.origin + 'px', - 'transform' : 'rotateX(90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - below: function() { - var - box = { - origin : (($activeSide.outerHeight() - $nextSide.outerHeight()) / 2), - depth : { - active : ($nextSide.outerHeight() / 2), - next : ($activeSide.outerHeight() / 2) - } - } - ; - module.verbose('Setting the initial animation position as below', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'top' : box.origin + 'px', - 'transform' : 'rotateX(-90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - left: function() { - var - box = { - origin : ( ( $activeSide.outerWidth() - $nextSide.outerWidth() ) / 2), - depth : { - active : ($nextSide.outerWidth() / 2), - next : ($activeSide.outerWidth() / 2) - } - } - ; - module.verbose('Setting the initial animation position as left', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'left' : box.origin + 'px', - 'transform' : 'rotateY(-90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - right: function() { - var - box = { - origin : ( ( $activeSide.outerWidth() - $nextSide.outerWidth() ) / 2), - depth : { - active : ($nextSide.outerWidth() / 2), - next : ($activeSide.outerWidth() / 2) - } - } - ; - module.verbose('Setting the initial animation position as left', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'left' : box.origin + 'px', - 'transform' : 'rotateY(90deg) translateZ(' + box.depth.next + 'px)' - }) - ; - }, - - behind: function() { - var - box = { - origin : ( ( $activeSide.outerWidth() - $nextSide.outerWidth() ) / 2), - depth : { - active : ($nextSide.outerWidth() / 2), - next : ($activeSide.outerWidth() / 2) - } - } - ; - module.verbose('Setting the initial animation position as behind', $nextSide, box); - $activeSide - .css({ - 'transform' : 'rotateY(0deg)' - }) - ; - $nextSide - .addClass(className.animating) - .css({ - 'display' : 'block', - 'left' : box.origin + 'px', - 'transform' : 'rotateY(-180deg)' - }) - ; - } - }, - - /* standard module */ - setting: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value === undefined) { - return settings[name]; - } - else { - settings[name] = value; - } - }, - - verbose: function() { - if(settings.verbose) { - module.debug.apply(this, arguments); - } - }, - - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - - error: function() { - var - output = [], - errorMessage = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.warn || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(errorMessage); - output.concat(variables); - log.apply(console, output.concat(variables) ); - } - }, - - invoke: function(query, passedArguments, context) { - var - maxDepth, - found - ; - passedArguments = passedArguments || queryArguments || [].slice.call( arguments, 2 ); - context = element || context; - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(error.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - module.verbose('Executing invoked function', found); - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found || false; - } - }; - - // check for invoking internal method - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - invokedResponse = module.invoke(query); - } - // otherwise initialize - else { - if(instance !== undefined) { - module.destroy(); - } - module.initialize(); - } - }) - ; - // chain or return queried method - return (invokedResponse) - ? invokedResponse - : this - ; -}; - -$.fn.shape.settings = { - - // module info - moduleName : 'Shape Module', - - // debug content outputted to console - debug : true, - - // verbose debug output - verbose : true, - - // event namespace - namespace : 'shape', - - // callback occurs on side change - beforeChange : function() {}, - onChange : function() {}, - - // use css animation (currently only true is supported) - useCSS : true, - - // animation duration (useful only with future js animations) - duration : 1000, - easing : 'easeInOutQuad', - - // possible errors - error: { - side : 'You tried to switch to a side that does not exist.', - method : 'The method you called is not defined' - }, - - // classnames used - className : { - css : 'css', - animating : 'animating', - hidden : 'hidden', - active : 'active' - }, - - // selectors used - selector : { - shape : '.shape', - side : '.side' - } - -}; - - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/uncompressed/modules/star.js b/node/src/files/components/semantic/uncompressed/modules/star.js deleted file mode 100644 index e394ce5fc..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/star.js +++ /dev/null @@ -1,180 +0,0 @@ -/* ****************************** - Star Review - Author: Jack Lukic - Notes: First Commit Sep 04, 2012 - - Simple rating module -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.starReview = function(parameters) { - var - settings = $.extend(true, {}, $.fn.starReview.settings, parameters), - // hoist arguments - moduleArguments = arguments || false - ; - $(this) - .each(function() { - var - $module = $(this), - $star = $module.find(settings.selector.star), - - className = settings.className, - namespace = settings.namespace, - instance = $module.data('module'), - module - ; - - module = { - - settings: settings, - - initialize: function() { - if(settings.rateable) { - // expandable with states - if($.fn.state !== undefined) { - $module - .state() - ; - $star - .state() - ; - } - $star - .bind('mouseenter.' + namespace, module.event.mouseenter) - .bind('mouseleave.' + namespace, module.event.mouseleave) - .bind('click.' + namespace, module.event.click) - ; - } - $module - .addClass(className.initialize) - .data('module', module) - ; - }, - - setRating: function(rating) { - var - $activeStar = $star.eq(rating - 1) - ; - $module - .removeClass(className.hover) - ; - $star - .removeClass(className.hover) - ; - $activeStar - .nextAll() - .removeClass(className.active) - ; - $activeStar - .addClass(className.active) - .prevAll() - .addClass(className.active) - ; - $.proxy(settings.onRate, $module)(); - }, - - event: { - mouseenter: function() { - var - $activeStar = $(this) - ; - $activeStar - .nextAll() - .removeClass(className.hover) - ; - $module - .addClass(className.hover) - ; - $activeStar - .addClass(className.hover) - .prevAll() - .addClass(className.hover) - ; - }, - mouseleave: function() { - $star - .removeClass(className.hover) - ; - }, - click: function() { - var - $activeStar = $(this) - ; - module.setRating( $star.index($activeStar) + 1); - } - }, - - // handle error logging - error: function(errorMessage) { - console.warn(settings.moduleName + ': ' + errorMessage); - }, - - // allows for dot notation method calls - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - return ( $.isFunction( method ) ) - ? method.apply(context, methodArguments) - : false - ; - } - - }; - - if(instance !== undefined && moduleArguments) { - // simpler than invoke realizing to invoke itself (and losing scope due prototype.call() - if(moduleArguments[0] == 'invoke') { - moduleArguments = Array.prototype.slice.call( moduleArguments, 1 ); - } - return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // initializing - module.initialize(); - }) - ; - - return this; - }; - - $.fn.starReview.settings = { - - moduleName : 'Star Module', - namespace : 'star', - - rateable : true, - onRate : function(){}, - - className : { - initialize : 'initialize', - loading : 'loading', - active : 'active', - hover : 'hover', - down : 'down' - }, - - selector : { - star : 'i' - } - - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/uncompressed/modules/tab.js b/node/src/files/components/semantic/uncompressed/modules/tab.js deleted file mode 100644 index 6506548b3..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/tab.js +++ /dev/null @@ -1,523 +0,0 @@ -/* ****************************** - Module - Simple Tab Navigation - Author: Jack Lukic - Notes: First Commit Aug 15, 2012 - - History based tab navigation -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.tabNavigation = function(parameters) { - - var - settings = $.extend(true, {}, $.fn.tabNavigation.settings, parameters), - - $tabNavigation = $(this), - $tabs = $(settings.context).find(settings.selector.tabs), - - firstLoad = true, - cache = {}, - recursionDepth = 0, - - activeTabPath, - parameterArray, - historyEvent, - - className = settings.className, - metadata = settings.metadata, - namespace = settings.namespace, - errors = settings.errors, - - instance = $tabNavigation.data('module'), - - query = arguments[0], - methodInvoked = (instance !== undefined && typeof query == 'string'), - passedArguments = [].slice.call(arguments, 1), - - module, - invokedResponse - ; - - module = { - - initialize: function() { - module.debug('Initializing Tabs', $tabNavigation); - // attach history events - if(settings.history && settings.path !== false) { - if( $.address !== undefined ) { - module.verbose('Address library found adding state change event'); - $.address - .state(settings.path) - .change(module.event.history.change) - ; - } - else { - module.error(errors.state); - } - } - // attach events if navigation wasn't set to window - if( !$.isWindow( $tabNavigation.get(0) ) ) { - $tabNavigation - .on('click.' + namespace, module.event.click) - ; - } - $tabNavigation - .data('module', module) - ; - }, - - destroy: function() { - module.debug('Destroying tabs', $tabNavigation); - $tabNavigation - .off('.' + namespace) - ; - }, - - event: { - click: function() { - module.debug('Navigation clicked'); - var - tabPath = $(this).data(metadata.tab) - ; - if(tabPath !== undefined) { - if(tabPath !== activeTabPath) { - if(settings.history) { - $.address.value(tabPath); - } - else { - module.change(tabPath); - } - } - } - else { - module.debug('No tab specified'); - } - }, - history: { - change: function(event) { - var - tabPath = event.pathNames.join('/') || module.get.initialPath(), - pageTitle = settings.templates.determineTitle(tabPath) || false - ; - module.debug('History change event', tabPath, event); - historyEvent = event; - if(tabPath !== undefined) { - module.change(tabPath); - } - if(pageTitle) { - $.address.title(pageTitle); - } - } - } - }, - - refresh: function() { - if(activeTabPath) { - module.debug('Refreshing tab', activeTabPath); - module.change(activeTabPath); - } - }, - - cache: { - read: function(tabPath) { - return (tabPath !== undefined) - ? cache[tabPath] - : cache - ; - }, - add: function(tabPath, content) { - tabPath = tabPath || activeTabPath; - module.debug('Adding cached content for', tabPath); - cache[tabPath] = content; - }, - remove: function(tabPath) { - tabPath = tabPath || activeTabPath; - module.debug('Removing cached content for', tabPath); - delete cache[tabPath]; - } - }, - - change: function(tabPath) { - var - pathArray = module.get.defaultPathArray(tabPath) - ; - module.deactivate.all(); - $.each(pathArray, function(index, tab) { - var - currentPathArray = pathArray.slice(0, index + 1), - currentPath = module.utils.arrayToPath(currentPathArray), - - isLastTab = (module.utils.last(pathArray) == currentPath), - isTab = module.is.tab(currentPath), - isParam = !(isTab), - - pushStateAvailable = (window.history && window.history.pushState), - shouldIgnoreLoad = (pushStateAvailable && settings.ignoreFirstLoad && firstLoad), - remoteContent = $.isPlainObject(settings.apiSettings), - - $tab = module.get.tabElement(currentPath) - ; - module.verbose('Looking for tab', tab); - if(isParam) { - module.verbose('Tab is not found, assuming it is a parameter', tab); - return true; - } - else if(isTab) { - // scope up - module.verbose('Tab was found', tab); - activeTabPath = currentPath; - parameterArray = module.utils.filterArray(pathArray, currentPathArray); - if(isLastTab && remoteContent) { - if(!shouldIgnoreLoad) { - module.activate.navigation(currentPath); - module.content.fetch(currentPath, settings.onTabLoad); - } - else { - module.debug('Ignoring remote content on first tab load', currentPath); - firstLoad = false; - cache[tabPath] = $tab.html(); - module.activate.all(currentPath); - $.proxy(settings.onTabInit, $tab)(currentPath, parameterArray, historyEvent); - } - } - else { - module.debug('Opened tab', currentPath); - module.activate.all(currentPath); - $.proxy(settings.onTabLoad, $tab)(currentPath, parameterArray, historyEvent); - } - - } - }); - }, - - content: { - - fetch: function(tabPath) { - var - $tab = module.get.tabElement(tabPath), - cachedContent = cache[tabPath] || false, - apiSettings = { - dataType : 'html', - stateContext : $tab, - success : function(response) { - cache[tabPath] = response; - module.content.update(tabPath, response); - if(tabPath == activeTabPath) { - module.debug('Content loaded', tabPath); - module.activate.tab(tabPath); - } - else { - module.debug('Content loaded in background', tabPath); - } - $.proxy(settings.onTabInit, $tab)(tabPath, parameterArray, historyEvent); - }, - urlData: { tab: tabPath } - }, - request = $tab.data(metadata.promise) || false, - existingRequest = ( request && request.state() === 'pending' ) - ; - if(settings.cache && cachedContent) { - module.debug('Showing existing content', tabPath); - // module.content.update(tabPath, cachedContent); - module.activate.tab(tabPath); - $.proxy(settings.onTabLoad, $tab)(tabPath, parameterArray, historyEvent); - } - else if(existingRequest) { - module.debug('Content is already loading', tabPath); - $tab - .addClass(className.loading) - ; - } - else if($.api !== undefined) { - module.debug('Retrieving content', tabPath); - $.api( $.extend(true, {}, settings.apiSettings, apiSettings) ); - } - else { - module.error(errors.api); - } - }, - - update: function(tabPath, html) { - module.debug('Updating html for', tabPath); - var - $tab = module.get.tabElement(tabPath) - ; - $tab - .html(html) - ; - } - }, - - activate: { - all: function(tabPath) { - module.activate.tab(tabPath); - module.activate.navigation(tabPath); - }, - tab: function(tabPath) { - var - $tab = module.get.tabElement(tabPath) - ; - module.verbose('Showing tab content for', $tab); - $tab.addClass(className.active); - }, - navigation: function(tabPath) { - var - $nav = module.get.navElement(tabPath) - ; - module.verbose('Activating tab navigation for', $nav); - $nav.addClass(className.active); - } - }, - - deactivate: { - all: function() { - module.deactivate.navigation(); - module.deactivate.tabs(); - }, - navigation: function() { - $tabNavigation - .removeClass(className.active) - ; - }, - tabs: function() { - $tabs - .removeClass(className.active + ' ' + className.loading) - ; - } - }, - - is: { - tab: function(tabName) { - return ( module.get.tabElement(tabName).size() > 0 ); - } - }, - - get: { - initialPath: function() { - return $tabNavigation.eq(0).data(metadata.tab) || $tabs.eq(0).data(metadata.tab); - }, - // adds default tabs to tab path - defaultPathArray: function(tabPath) { - return module.utils.pathToArray( module.get.defaultPath(tabPath) ); - }, - defaultPath: function(tabPath) { - var - $defaultNav = $tabNavigation.filter('[data-' + metadata.tab + '^="' + tabPath + '/"]').eq(0), - defaultTab = $defaultNav.data(metadata.tab) || false - ; - if( defaultTab ) { - module.debug('Found default tab', defaultTab); - if(recursionDepth < settings.maxDepth) { - recursionDepth++; - return module.get.defaultPath(defaultTab); - } - module.error(errors.recursion); - } - recursionDepth = 0; - return tabPath; - }, - navElement: function(tabPath) { - tabPath = tabPath || activeTabPath; - return $tabNavigation.filter('[data-' + metadata.tab + '="' + tabPath + '"]'); - }, - tabElement: function(tabPath) { - var - $fullPathTab, - $simplePathTab, - tabPathArray, - lastTab - ; - tabPath = tabPath || activeTabPath; - tabPathArray = module.utils.pathToArray(tabPath); - lastTab = module.utils.last(tabPathArray); - $fullPathTab = $tabs.filter('[data-' + metadata.tab + '="' + lastTab + '"]'); - $simplePathTab = $tabs.filter('[data-' + metadata.tab + '="' + tabPath + '"]'); - return ($fullPathTab.size() > 0) - ? $fullPathTab - : $simplePathTab - ; - }, - tab: function() { - return activeTabPath; - } - }, - - utils: { - filterArray: function(keepArray, removeArray) { - return $.grep(keepArray, function(keepValue) { - return ( $.inArray(keepValue, removeArray) == -1); - }); - }, - last: function(array) { - return $.isArray(array) - ? array[ array.length - 1] - : false - ; - }, - pathToArray: function(pathName) { - if(pathName === undefined) { - pathName = activeTabPath; - } - return typeof pathName == 'string' - ? pathName.split('/') - : [pathName] - ; - }, - arrayToPath: function(pathArray) { - return $.isArray(pathArray) - ? pathArray.join('/') - : false - ; - } - }, - - /* standard module */ - setting: function(name, value) { - if(value === undefined) { - return settings[name]; - } - settings[name] = value; - }, - verbose: function() { - if(settings.verbose) { - module.debug.apply(this, arguments); - } - }, - debug: function() { - var - output = [], - message = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.info || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(message); - log.apply(console, output.concat(variables) ); - } - }, - error: function() { - var - output = [], - errorMessage = settings.moduleName + ': ' + arguments[0], - variables = [].slice.call( arguments, 1 ), - log = console.warn || console.log || function(){} - ; - log = Function.prototype.bind.call(log, console); - if(settings.debug) { - output.push(errorMessage); - output.concat(variables); - log.apply(console, output.concat(variables)); - } - }, - invoke: function(query, context, passedArguments) { - var - maxDepth, - found - ; - passedArguments = passedArguments || [].slice.call( arguments, 2 ); - if(typeof query == 'string' && instance !== undefined) { - query = query.split('.'); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) { - instance = instance[value]; - return true; - } - else if( instance[value] !== undefined ) { - found = instance[value]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( found ) ) { - return found.apply(context, passedArguments); - } - // return retrieved variable or chain - return found; - } - }; - - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(query, this, passedArguments); - } - // otherwise initialize - else { - module.initialize(); - } - - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; - - }; - - // shortcut for tabbed content with no defined navigation - $.tabNavigation = function(settings) { - $(window).tabNavigation(settings); - }; - - $.fn.tabNavigation.settings = { - - moduleName : 'Tab Module', - verbose : false, - debug : true, - namespace : 'tab', - - // only called first time a tab's content is loaded (when remote source) - onTabInit : function(tabPath, parameterArray, historyEvent) {}, - // called on every load - onTabLoad : function(tabPath, parameterArray, historyEvent) {}, - - templates: { - determineTitle: function(tabArray) {} - }, - - history : false, - path : false, - - context : 'body', - - // max depth a tab can be nested - maxDepth : 25, - // dont load content on first load - ignoreFirstLoad : true, - // load tab content new every tab click - alwaysRefresh : false, - // cache the content requests to pull locally - cache : true, - // settings for api call - apiSettings : false, - - errors: { - api : 'You attempted to load content without API module', - noContent : 'The tab you specified is missing a content url.', - method : 'The method you called is not defined', - state : 'The state library has not been initialized', - missingTab : 'Missing tab: ', - recursion : 'Max recursive depth reached' - }, - - metadata : { - tab : 'tab', - loaded : 'loaded', - promise: 'promise' - }, - - className : { - loading : 'loading', - active : 'active' - }, - - selector : { - tabs : '.tab' - } - - }; - -})( jQuery, window , document ); \ No newline at end of file diff --git a/node/src/files/components/semantic/uncompressed/modules/video.js b/node/src/files/components/semantic/uncompressed/modules/video.js deleted file mode 100644 index 8dd11a6d0..000000000 --- a/node/src/files/components/semantic/uncompressed/modules/video.js +++ /dev/null @@ -1,391 +0,0 @@ -/* ****************************** - Module - Video Component - Author: Jack Lukic - Notes: First Commit June 30, 2012 - - This is a video playlist and video embed plugin which helps - provide helpers for adding embed code for vimeo and youtube and - abstracting event handlers for each library - -****************************** */ - -;(function ($, window, document, undefined) { - - $.fn.video = function(parameters) { - - var - settings = $.extend(true, {}, $.fn.video.settings, parameters), - // make arguments available - moduleArguments = arguments || false, - invokedResponse - ; - - $(this) - .each(function() { - var - $module = $(this), - $placeholder = $module.find(settings.selector.placeholder), - $playButton = $module.find(settings.selector.playButton), - $embed = $module.find(settings.selector.embed), - - element = this, - instance = $module.data('module-' + settings.namespace), - methodInvoked = (typeof parameters == 'string'), - - namespace = settings.namespace, - metadata = settings.metadata, - className = settings.className, - - module - ; - - module = { - - initialize: function() { - module.debug('Initializing video'); - $placeholder - .off('.video') - .on('click.' + namespace, module.play) - ; - $playButton - .off('.video') - .on('click.' + namespace, module.play) - ; - $module - .data('module-' + namespace, module) - ; - }, - - // sets new video - change: function(source, flv) { - module.debug('Changing video to ', flv); - $module - .data(metadata.source, source) - .data(metadata.flv, flv) - ; - settings.onChange(); - }, - - // clears video embed - reset: function() { - module.debug('Clearing video embed and showing placeholder'); - $module - .removeClass(className.active) - ; - $embed - .html(' ') - ; - $placeholder - .show() - ; - settings.onReset(); - }, - - // plays current video - play: function() { - module.debug('Playing video'); - var - source = $module.data(metadata.source), - flv = $module.data(metadata.flv) - ; - $embed - .html( module.generate.html(source, flv) ) - ; - $module - .addClass(className.active) - ; - settings.onPlay(); - }, - - generate: { - // generates iframe html - html: function(source, flv) { - module.debug('Generating embed html'); - var - width = (settings.width == 'auto') - ? $module.width() - : settings.width, - height = (settings.height == 'auto') - ? $module.height() - : settings.height, - html - ; - if(source == 'vimeo') { - html = '' - + '' - ; - } - else if(source == 'youtube') { - html = '' - + '' - ; - } - return html; - }, - - // generate url parameters - url: function(source) { - var - api = (settings.api) - ? 1 - : 0, - autoplay = (settings.autoplay) - ? 1 - : 0, - hd = (settings.hd) - ? 1 - : 0, - showUI = (settings.showUI) - ? 1 - : 0, - // opposite used for some params - hideUI = !(settings.showUI) - ? 1 - : 0, - url = '' - ; - if(source == 'vimeo') { - url = '' - + 'api=' + api - + '&title=' + showUI - + '&byline=' + showUI - + '&portrait=' + showUI - + '&autoplay=' + autoplay - ; - if(settings.color) { - url += '&color=' + settings.color; - } - } - else if(source == 'youtube') { - url = '' - + 'enablejsapi=' + api - + '&autoplay=' + autoplay - + '&autohide=' + hideUI - + '&hq=' + hd - + '&modestbranding=1' - ; - if(settings.color) { - url += '&color=' + settings.color; - } - } - return url; - } - }, - - /* standard module */ - debug: function(message, variableName) { - if(settings.debug) { - if(variableName !== undefined) { - console.info(settings.moduleName + ': ' + message, variableName); - } - else { - console.info(settings.moduleName + ': ' + message); - } - } - }, - error: function(errorMessage) { - console.warn(settings.moduleName + ': ' + errorMessage); - }, - invoke: function(methodName, context, methodArguments) { - var - method - ; - methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 ); - if(typeof methodName == 'string' && instance !== undefined) { - methodName = methodName.split('.'); - $.each(methodName, function(index, name) { - if( $.isPlainObject( instance[name] ) ) { - instance = instance[name]; - return true; - } - else if( $.isFunction( instance[name] ) ) { - method = instance[name]; - return true; - } - module.error(settings.errors.method); - return false; - }); - } - if ( $.isFunction( method ) ) { - return method.apply(context, methodArguments); - } - // return retrieved variable or chain - return method; - } - }; - // check for invoking internal method - if(methodInvoked) { - invokedResponse = module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) ); - } - // otherwise initialize - else { - if(instance) { - module.destroy(); - } - module.initialize(); - } - - }) - ; - // chain or return queried method - return (invokedResponse !== undefined) - ? invokedResponse - : this - ; - }; - - - $.fn.videoPlaylist = function(video, parameters) { - var - $allModules = $(this), - $video = $(video), - $iframe = $video.find('.embed iframe'), - - settings = $.extend({}, $.fn.videoPlaylist.settings, parameters, true) - ; - $allModules - .each(function() { - var - $element = $(this), - - metadata = settings.metadata, - namespace = settings.namespace, - className = settings.className, - - module = { - initialize: function() { - $element - .on('click.' + namespace , module.changeVideo) - ; - }, - changeVideo: function() { - var - flv = $element.data(metadata.flv) || false, - source = $element.data(metadata.source) || false, - placeholder = $element.data(metadata.placeholder) || false - ; - if(flv && source) { - $video - .data(metadata.source, source) - .data(metadata.flv, flv) - ; - if(settings.showPlaceholder) { - $video - .removeClass(className.active) - .find($.fn.video.selector.placeholder) - .attr('src', placeholder) - ; - } - else { - try { - $video - .video('play') - ; - } - catch(error) { - console.warn('Video Playlist Module: ' + settings.error.init); - } - } - $allModules - .removeClass(className.active) - ; - $element - .addClass(className.active) - ; - } - } - } - ; - module.initialize(); - }) - ; - - if(settings.playFirst) { - $allModules - .eq(0) - .trigger('click') - ; - // we all like a good hack - if($iframe.size() > 0) { - $iframe - .attr('src', $iframe.attr('src').replace('autoplay=1', 'autoplay=0') ) - ; - } - - } - - }; - - $.fn.video.settings = { - - moduleName : 'Video', - namespace : 'video', - debug : false, - - metadata : { - source : 'source', - flv : 'flv' - }, - - onPlay : function(){}, - onReset : function(){}, - onChange : function(){}, - - // callbacks not coded yet (needs to use jsapi) - play : function() {}, - pause : function() {}, - stop : function() {}, - - width : 'auto', - height : 'auto', - - autoplay : false, - color : '#442359', - hd : true, - showUI : false, - api : true, - - errors : { - method : 'The method you called is not defined' - }, - - className : { - active : 'active' - }, - - selector : { - embed : '.embed', - placeholder : '.placeholder', - playButton : '.play' - } - }; - - $.fn.videoPlaylist.settings = { - moduleName : 'Video Playlist', - namespace : 'videoPlaylist', - - source : 'vimeo', - showPlaceholder : false, - playFirst : true, - - metadata: { - flv : 'flv', - source : 'source', - placeholder : 'placeholder' - }, - - errors: { - init : 'The video player you specified was not yet initialized' - }, - - className : { - active : 'active' - } - - }; - -})( jQuery, window , document ); diff --git a/node/src/files/components/semantic/uncompressed/views/activity-feed.css b/node/src/files/components/semantic/views/activity-feed.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/views/activity-feed.css rename to node/src/files/components/semantic/views/activity-feed.css diff --git a/node/src/files/components/semantic/uncompressed/views/cover.css b/node/src/files/components/semantic/views/cover.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/views/cover.css rename to node/src/files/components/semantic/views/cover.css diff --git a/node/src/files/components/semantic/uncompressed/views/data-grid.css b/node/src/files/components/semantic/views/data-grid.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/views/data-grid.css rename to node/src/files/components/semantic/views/data-grid.css diff --git a/node/src/files/components/semantic/uncompressed/views/notecard.css b/node/src/files/components/semantic/views/notecard.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/views/notecard.css rename to node/src/files/components/semantic/views/notecard.css diff --git a/node/src/files/components/semantic/uncompressed/views/video.css b/node/src/files/components/semantic/views/video.css similarity index 100% rename from node/src/files/components/semantic/uncompressed/views/video.css rename to node/src/files/components/semantic/views/video.css diff --git a/node/src/layouts/default.html.eco b/node/src/layouts/default.html.eco index 6617c05a6..dfecef4c1 100755 --- a/node/src/layouts/default.html.eco +++ b/node/src/layouts/default.html.eco @@ -24,23 +24,23 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + @@ -54,10 +54,10 @@ - - - - + + + +