kilt-cms 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.rdoc +28 -0
- data/Rakefile +7 -0
- data/app/assets/images/kilt/animated-overlay.gif +0 -0
- data/app/assets/images/kilt/ui-bg_flat_0_000_40x100.png +0 -0
- data/app/assets/images/kilt/ui-bg_flat_0_fff_40x100.png +0 -0
- data/app/assets/images/kilt/ui-bg_flat_100_fff_40x100.png +0 -0
- data/app/assets/images/kilt/ui-bg_flat_100_ffffff_40x100.png +0 -0
- data/app/assets/images/kilt/ui-bg_glass_100_fff_1x400.png +0 -0
- data/app/assets/images/kilt/ui-bg_glass_100_ffffff_1x400.png +0 -0
- data/app/assets/images/kilt/ui-bg_highlight-soft_100_fff_1x100.png +0 -0
- data/app/assets/images/kilt/ui-icons_404040_256x240.png +0 -0
- data/app/assets/images/kilt/ui-icons_e74c3c_256x240.png +0 -0
- data/app/assets/javascripts/kilt/application.js +17 -0
- data/app/assets/javascripts/kilt/kilt.js +39 -0
- data/app/assets/stylesheets/kilt/application.scss +1 -0
- data/app/assets/stylesheets/kilt/config.rb +10 -0
- data/app/assets/stylesheets/kilt/sass/_base.scss +25 -0
- data/app/assets/stylesheets/kilt/sass/_buttons.scss +58 -0
- data/app/assets/stylesheets/kilt/sass/_form.scss +73 -0
- data/app/assets/stylesheets/kilt/sass/_layout.scss +85 -0
- data/app/assets/stylesheets/kilt/sass/_mixins.scss +6 -0
- data/app/assets/stylesheets/kilt/sass/_tables.scss +65 -0
- data/app/assets/stylesheets/kilt/sass/_typography.scss +79 -0
- data/app/assets/stylesheets/kilt/sass/modules/_codemirror.scss +262 -0
- data/app/assets/stylesheets/kilt/sass/modules/_jquery_ui.scss +659 -0
- data/app/assets/stylesheets/kilt/sass/screen.scss +1 -0
- data/app/assets/stylesheets/kilt/stylesheets/modules/codemirror.css +1 -0
- data/app/assets/stylesheets/kilt/stylesheets/modules/jquery-ui.css +5 -0
- data/app/assets/stylesheets/kilt/stylesheets/print.css +0 -0
- data/app/assets/stylesheets/kilt/stylesheets/screen.css +5 -0
- data/app/controllers/kilt/kilt_controller.rb +122 -0
- data/app/views/kilt/form/_default.html.erb +4 -0
- data/app/views/kilt/form/boolean.html.erb +4 -0
- data/app/views/kilt/form/datetime.html.erb +4 -0
- data/app/views/kilt/form/file.html.erb +59 -0
- data/app/views/kilt/form/html.html.erb +4 -0
- data/app/views/kilt/form/image.html.erb +72 -0
- data/app/views/kilt/form/longtext.html.erb +4 -0
- data/app/views/kilt/form/number.html.erb +23 -0
- data/app/views/kilt/form/text.html.erb +4 -0
- data/app/views/kilt/form/vimeo.html.erb +100 -0
- data/app/views/kilt/form/youtube.html.erb +98 -0
- data/app/views/kilt/kilt/_form.html.erb +30 -0
- data/app/views/kilt/kilt/edit.html.erb +2 -0
- data/app/views/kilt/kilt/index.html.erb +9 -0
- data/app/views/kilt/kilt/list.html.erb +67 -0
- data/app/views/kilt/kilt/new.html.erb +2 -0
- data/app/views/layouts/kilt/cms.html.erb +41 -0
- data/config/routes.rb +13 -0
- data/lib/generators/kilt/backend_generator.rb +19 -0
- data/lib/generators/kilt/frontend_generator.rb +33 -0
- data/lib/generators/kilt/install_generator.rb +13 -0
- data/lib/generators/kilt/object_generator.rb +23 -0
- data/lib/generators/kilt/templates/backend/config.yml.erb +16 -0
- data/lib/generators/kilt/templates/backend/creds.yml.example +8 -0
- data/lib/generators/kilt/templates/backend/kilt.rb +11 -0
- data/lib/generators/kilt/templates/frontend/application.html.erb +24 -0
- data/lib/generators/kilt/templates/frontend/assets/images/sprite/empty +0 -0
- data/lib/generators/kilt/templates/frontend/assets/images/sprite/retina/empty +0 -0
- data/lib/generators/kilt/templates/frontend/assets/javascripts/application.js +14 -0
- data/lib/generators/kilt/templates/frontend/assets/javascripts/html5shiv.js +2 -0
- data/lib/generators/kilt/templates/frontend/assets/javascripts/mediaqueries.js +1 -0
- data/lib/generators/kilt/templates/frontend/assets/stylesheets/config.rb +24 -0
- data/lib/generators/kilt/templates/frontend/assets/stylesheets/sass/modules/_mixins.scss +81 -0
- data/lib/generators/kilt/templates/frontend/assets/stylesheets/sass/modules/_reset_custom.scss +31 -0
- data/lib/generators/kilt/templates/frontend/assets/stylesheets/sass/modules/_typography.scss +35 -0
- data/lib/generators/kilt/templates/frontend/assets/stylesheets/sass/screen.scss +13 -0
- data/lib/generators/kilt/templates/frontend/assets/stylesheets/sass/views/_layout.scss +7 -0
- data/lib/generators/kilt/templates/frontend/assets/stylesheets/stylesheets/screen.css +160 -0
- data/lib/generators/kilt/templates/frontend/dummy.js.erb +11 -0
- data/lib/generators/kilt/templates/frontend/home_controller.rb.erb +4 -0
- data/lib/generators/kilt/templates/frontend/index.html.erb +5 -0
- data/lib/kilt/base.rb +12 -0
- data/lib/kilt/engine.rb +17 -0
- data/lib/kilt/exceptions.rb +10 -0
- data/lib/kilt/form.rb +28 -0
- data/lib/kilt/object.rb +66 -0
- data/lib/kilt/object_collection.rb +52 -0
- data/lib/kilt/upload.rb +54 -0
- data/lib/kilt/utils.rb +166 -0
- data/lib/kilt.rb +125 -0
- data/lib/tasks/kilt_tasks.rake +6 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/images/sprite/empty +0 -0
- data/test/dummy/app/assets/images/sprite/retina/empty +0 -0
- data/test/dummy/app/assets/javascripts/application.js +14 -0
- data/test/dummy/app/assets/javascripts/dummy.js +11 -0
- data/test/dummy/app/assets/javascripts/html5shiv.js +2 -0
- data/test/dummy/app/assets/javascripts/mediaqueries.js +1 -0
- data/test/dummy/app/assets/stylesheets/config.rb +24 -0
- data/test/dummy/app/assets/stylesheets/sass/modules/_mixins.scss +81 -0
- data/test/dummy/app/assets/stylesheets/sass/modules/_reset_custom.scss +31 -0
- data/test/dummy/app/assets/stylesheets/sass/modules/_typography.scss +35 -0
- data/test/dummy/app/assets/stylesheets/sass/screen.scss +13 -0
- data/test/dummy/app/assets/stylesheets/sass/views/_layout.scss +7 -0
- data/test/dummy/app/assets/stylesheets/stylesheets/screen.css +160 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/controllers/dummy_controller.rb +4 -0
- data/test/dummy/app/views/dummy/index.html.erb +5 -0
- data/test/dummy/app/views/layouts/application.html.erb +24 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/config/application.rb +27 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +23 -0
- data/test/dummy/config/environments/test.rb +23 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/kilt.rb +14 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +12 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/kilt/config.yml +40 -0
- data/test/dummy/config/kilt/creds.yml +8 -0
- data/test/dummy/config/routes.rb +7 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/log/development.log +68163 -0
- data/test/dummy/log/test.log +36 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/public/uploads/file/Gemfile +3 -0
- data/test/dummy/public/uploads/file/Gemfile.lock +139 -0
- data/test/dummy/public/uploads/file/README.rdoc +28 -0
- data/test/dummy/public/uploads/file/Rakefile +6 -0
- data/test/dummy/public/uploads/file/barcelona.jpg +0 -0
- data/test/dummy/public/uploads/file/dodgerstadiumpix.jpg +0 -0
- data/test/dummy/public/uploads/file/field.jpg +0 -0
- data/test/dummy/public/uploads/file/fob-elton-john-08.jpg +0 -0
- data/test/dummy/public/uploads/file/kilt.gemspec +32 -0
- data/test/dummy/public/uploads/file/kilt.rb +100 -0
- data/test/dummy/public/uploads/image/2960116125_1158ba3c59_o.jpg +0 -0
- data/test/dummy/public/uploads/image/JT.jpg +0 -0
- data/test/dummy/public/uploads/image/barcelona.jpg +0 -0
- data/test/dummy/public/uploads/image/dodgerstadiumpix.jpg +0 -0
- data/test/dummy/public/uploads/image/field.jpg +0 -0
- data/test/dummy/spec/kilt_spec.rb +31 -0
- data/test/dummy/spec/spec_helper.rb +12 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/03cdc43618f8bef3dfc725a1886c40ed +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0d8e5c7178ebdb79e5b9cc4ef439eae8 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/13a3d23d13c1459a86283c4fe577a775 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/18837248cb3274df9b7c6b0a5dcd56a5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1c198a7e1d4ae808a6adf4c4809061eb +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2e57def2c82ce30227eefea2360d5f50 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/36f9a7f6f43adb582ac6eec43b58eb30 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/36fff19076c588427464432f563a8d2d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3878e0f19bbd21176b1bcc46160a3df3 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3cee919b5b764629fbb01de361ad1b99 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3d69f4783ceef2f5455635de03e6c62a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3d8ca1585ee95c5efb388645d66cf377 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3e0acde4cdc501f590a21ede6fac0b97 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/413be9c73d25c7febe933f4619da7cf8 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/4b5c4a1edd3823a6a6c39e06b6eb230a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/4c5736bf0bd429296d1a32930364897e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/542fc810f9cd36e7bed9a3e5e9670995 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/56f1e7d57d31bf3315e1e33732d57faa +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5bea4c2d87ec725262213ed51575b485 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5eb5178b706a9b8bd0362b7ed487339a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5fa6492da1cba5232b9e9799b5e2bf8f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5fe3d26a30497da82978c9f7ee53068b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/66f697b8e4167ad9ebefbd8b5fc65b23 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6b6e86e81f5e8f80bb2b3d1e8f7ed7f3 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6caab0d3b759107ab41492546763aaf0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6d83c6efd2bf1080ba1dead9fcfdd0db +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/70d4b3b9e59d0e01e90eebf94dbc2c47 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8127282074e6ffd457b72c228a69f0c0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8ffacb4ba6e6ca3da12ac1100f664b30 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9dd98bca318fb820a8451cafce020588 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b259805c84c81064f20700498328f109 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b7e1f059a53a1e79df01a336fb1f50f0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c0671678b70011547b80da0669d031cc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c1006115f345f87cc152b851154e9e34 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cf0d5ad037fbf541c6b982abf73b9938 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/da31523b2e8cf32dd8db9f304d5b7395 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/dc676330961fd22be77c48cb77ec065f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ddc29f2c13cd99d017fd526b61dcb951 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/de45247cb814cafe20e9e46c79e470fe +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e22d705d0c889ec4837f183a9beec0f3 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e7ba95a61b1b9381906a88610dceb6dd +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ef7c8ce46dfc9e9087ce84dbdfdd0011 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f3e1a8ba304f70dccefd77356c900ebc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/data/meta_request/2ff92b3b-2e2c-438e-a687-d2900c8722e3.json +1 -0
- data/test/dummy/tmp/data/meta_request/4a2f197b-3f28-4ade-962e-0337d56878b1.json +1 -0
- data/test/dummy/tmp/data/meta_request/7eb04de5-6edf-4ea2-a4cf-994e6173b529.json +1 -0
- data/test/dummy/tmp/data/meta_request/96ec6abc-1da4-45e1-a397-79e849741501.json +1 -0
- data/test/dummy/tmp/data/meta_request/a9566f73-bde1-4346-b254-011381243ddc.json +1 -0
- data/test/dummy/tmp/data/meta_request/a9eb2875-930e-49ed-ab2f-40aba11bb132.json +1 -0
- data/test/dummy/tmp/data/meta_request/bcd27bed-9cac-4c32-8030-2699415e91a1.json +1 -0
- data/test/dummy/tmp/data/meta_request/e6152727-3e54-4858-ad8f-6e57e247a8a5.json +1 -0
- data/test/dummy/tmp/data/meta_request/e7db6149-e316-4ad1-a3a8-c014d0e7092b.json +1 -0
- data/test/dummy/tmp/data/meta_request/fc793f84-b287-4459-b902-705b1d2b1141.json +1 -0
- metadata +536 -0
@@ -0,0 +1 @@
|
|
1
|
+
@import "_base";
|
@@ -0,0 +1 @@
|
|
1
|
+
.CodeMirror{font-family:monospace;height:300px;border:1px solid #ccc}.CodeMirror-scroll{overflow:auto}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:white}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999}.CodeMirror div.CodeMirror-cursor{border-left:1px solid black;z-index:3}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor{width:auto;border:0;background:#7e7;z-index:1}.cm-tab{display:inline-block}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable{color:black}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-property{color:black}.cm-s-default .cm-operator{color:black}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:bold}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-s-default .cm-error{color:#f00}.cm-invalidchar{color:#f00}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{line-height:1;position:relative;overflow:hidden;background:white;color:black}.CodeMirror-scroll{margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;padding-right:30px;height:100%;outline:none;position:relative;-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-sizer{position:relative}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;padding-bottom:30px;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;-moz-box-sizing:content-box;box-sizing:content-box;padding-bottom:30px;margin-bottom:-32px;display:inline-block;*zoom:1;*display:inline}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-lines{cursor:text}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-code pre{border-right:30px solid transparent;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.CodeMirror-wrap .CodeMirror-code pre{border-right:none;width:auto}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-wrap .CodeMirror-scroll{overflow-x:hidden}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-measure pre{position:static}.CodeMirror div.CodeMirror-cursor{position:absolute;visibility:hidden;border-right:none;width:0}.CodeMirror-focused div.CodeMirror-cursor{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,0.4)}.CodeMirror span{*vertical-align:text-bottom}@media print{.CodeMirror div.CodeMirror-cursor{visibility:hidden}}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/*! jQuery UI - v1.10.3 - 2013-12-17
|
2
|
+
* http://jqueryui.com
|
3
|
+
* Includes: jquery.ui.core.css, jquery.ui.datepicker.css, jquery.ui.theme.css
|
4
|
+
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault='Open%20Sans'%2CArial%2Csans-serif&fwDefault=normal&fsDefault=18px&cornerRadius=0&bgColorHeader=%23fff&bgTextureHeader=highlight_soft&bgImgOpacityHeader=100&borderColorHeader=%23fff&fcHeader=%23404040&iconColorHeader=%23404040&bgColorContent=%23ffffff&bgTextureContent=flat&bgImgOpacityContent=100&borderColorContent=%23ddd&fcContent=%23404040&iconColorContent=%23404040&bgColorDefault=%23fff&bgTextureDefault=flat&bgImgOpacityDefault=100&borderColorDefault=%23fff&fcDefault=%23404040&iconColorDefault=%23404040&bgColorHover=%23fff&bgTextureHover=flat&bgImgOpacityHover=100&borderColorHover=%23b344f3&fcHover=%23404040&iconColorHover=%23404040&bgColorActive=%23ffffff&bgTextureActive=glass&bgImgOpacityActive=100&borderColorActive=%23b344f3&fcActive=%23404040&iconColorActive=%23404040&bgColorHighlight=%23fff&bgTextureHighlight=flat&bgImgOpacityHighlight=100&borderColorHighlight=%23b344f3&fcHighlight=%23404040&iconColorHighlight=%23404040&bgColorError=%23fff&bgTextureError=glass&bgImgOpacityError=100&borderColorError=%23e74c3c&fcError=%23e74c3c&iconColorError=%23e74c3c&bgColorOverlay=%23fff&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=%23000&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=0&thicknessShadow=0&offsetTopShadow=0&offsetLeftShadow=0&cornerRadiusShadow=0
|
5
|
+
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default !important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-widget{font-family:'Open Sans',Arial,sans-serif;font-size:18px}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:'Open Sans',Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#fff url(images/ui-bg_flat_100_ffffff_40x100.png) 50% 50% repeat-x;color:#404040}.ui-widget-content a{color:#404040}.ui-widget-header{border:1px solid #fff;background:#fff url(images/ui-bg_highlight-soft_100_fff_1x100.png) 50% 50% repeat-x;color:#404040;font-weight:bold}.ui-widget-header a{color:#404040}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #fff;background:#fff url(images/ui-bg_flat_100_fff_40x100.png) 50% 50% repeat-x;font-weight:normal;color:#404040}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#404040;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #b344f3;background:#fff url(images/ui-bg_flat_100_fff_40x100.png) 50% 50% repeat-x;font-weight:normal;color:#404040}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#404040;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #b344f3;background:#fff url(images/ui-bg_glass_100_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#404040}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#404040;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #b344f3;background:#fff url(images/ui-bg_flat_100_fff_40x100.png) 50% 50% repeat-x;color:#404040}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#404040}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #e74c3c;background:#fff url(images/ui-bg_glass_100_fff_1x400.png) 50% 50% repeat-x;color:#e74c3c}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#e74c3c}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#e74c3c}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_404040_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_404040_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_404040_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_404040_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_404040_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_404040_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_e74c3c_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:0}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:0}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:0}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:0}.ui-widget-overlay{background:#fff url(images/ui-bg_flat_0_fff_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:0 0 0 0;padding:0;background:#000 url(images/ui-bg_flat_0_000_40x100.png) 50% 50% repeat-x;opacity:0;filter:Alpha(Opacity=0);border-radius:0}
|
File without changes
|
@@ -0,0 +1,5 @@
|
|
1
|
+
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}html{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}q,blockquote{quotes:none}q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}*,*:before,*:after{outline:none;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-font-smoothing:antialiased;font-smoothing:antialiased}body{background:#ecf0f1;color:#404040;font-family:'Open Sans', sans-serif;font-weight:300;font-size:18px;line-height:1.5}h1,h2,h3,h4,h5,h6,p,table{margin:0 0 30px}h1{font-size:48px;font-weight:300}h2{font-size:36px;margin:30px 0}h3,h4,h5,h6{font-size:24px}h4,label,h2 small{font-size:13px;letter-spacing:1px;text-transform:uppercase}h4.flag,label.flag,h2 small.flag{background:#dbe0e2;display:inline-block;color:#404040;font-weight:normal;padding:10px}h2 small{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;background:#dbe0e2;display:inline-block;padding:3px 6px;position:relative;top:-3px;font-weight:normal;color:#404040}small{font-size:13px}a{color:#b344f3;cursor:pointer;text-decoration:none}a:hover{color:#000}body{padding-top:36px}.wr{padding:0 30px;position:relative;margin:0 auto;width:100%}.hd .wr,.nav .wr{max-width:100%}.hd{background:#b344f3;color:#fff;font-weight:normal;position:fixed;top:0;left:0;width:100%;z-index:999}.hd h6{display:inline-block;font-weight:800;margin:0 10px 0 0}.hd h6 a{color:#fff}.hd .button.dashboard{position:relative;top:-3px}.hd .user{right:30px;position:absolute;top:4px}.hd .user .greeting{display:inline-block;font-size:14px;line-height:30px;margin:0 10px 0 0}.nav{background:#404040;font-size:14px;font-weight:normal;padding:3px 0}.page-actions{margin:0 0 30px}.object-list{font-size:60px;font-weight:400}p.notice,p.error{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;border:1px solid #b344f3;color:#fff;font-weight:normal;color:#b344f3;padding:10px 30px;text-align:center}p.error{border-color:#e74c3c;color:#e74c3c}.button{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;-webkit-transition:background 0.1s ease-out,color 0.1s ease-out;-moz-transition:background 0.1s ease-out,color 0.1s ease-out;-o-transition:background 0.1s ease-out,color 0.1s ease-out;transition:background 0.1s ease-out,color 0.1s ease-out;background:#b344f3;color:#fff;display:inline-block;font-weight:normal;text-decoration:none;margin:0 7px 0 0;padding:0 10px}.button:hover{background:#fff;color:#b344f3}.button.small{font-size:14px}.button.edit{background:#b344f3}.button.edit:hover{background:#fff;color:#b344f3}.button.back{background:#dbe0e2;color:#404040}.button.back:hover{background:#fff;color:#b344f3}.button.delete{background:#fff;color:#e74c3c}.button.delete:hover{background:#e74c3c;color:#fff}.nav .button{background:rgba(255,255,255,0.15)}.nav .button:hover{background:rgba(255,255,255,0.33);color:#fff}table{background:#fff;width:100%}tr:hover{-webkit-transition:background 0.1s ease-out;-moz-transition:background 0.1s ease-out;-o-transition:background 0.1s ease-out;transition:background 0.1s ease-out;background:rgba(179,68,243,0.03)}th,td{padding:15px 30px}th{background:#dbe0e2}th h4{margin:0}td{border-bottom:2px solid #ecf0f1}td.actions{text-align:right}td.actions .button{margin:0 5px 0 0}td.actions .button:last-child{margin:0}td.title .edit{color:#404040}td.title .edit:hover{color:#b344f3}th.hidden{text-indent:-9999em}@media (max-width: 1120px){table{font-size:14px}}@media (max-width: 920px){th.updated,td.updated,th.created,td.created{display:none}}label{display:block;font-size:13px;margin:0 0 10px}.form-input{background:#fff;border:1px solid #dddddd;display:block;margin:-1px 0 0;padding:20px}.form-input.boolean label{display:inline-block;margin:0 20px 0 0}.form-input.text input,.form-input.number input,.form-input.longtext textarea,.form-input.datetime input,.form-input.actions input{-webkit-transition:border 0.1s ease-out;-moz-transition:border 0.1s ease-out;-o-transition:border 0.1s ease-out;transition:border 0.1s ease-out;border:0;display:block;padding:0;font-size:18px;line-height:1.5;width:100%}.form-input.longtext textarea{height:170px;resize:vertical;max-width:100%;min-width:100%;width:100%}.form-input.actions input{-webkit-transition:background 0.1s ease-out;-moz-transition:background 0.1s ease-out;-o-transition:background 0.1s ease-out;transition:background 0.1s ease-out;background:#b344f3;color:#fff;cursor:pointer;display:inline-block;margin:0 20px 0 0;padding:10px 80px;width:auto}.form-input.actions input:hover{background:#404040}.form-input.actions input.delete{background:#fff;color:#e74c3c}.form-input.actions input.delete:hover{background:#e74c3c;color:#fff}.form-input .tip{font-size:11px;line-height:20px;font-style:italic}/*! jQuery UI - v1.10.3 - 2013-12-17
|
2
|
+
* http://jqueryui.com
|
3
|
+
* Includes: jquery.ui.core.css, jquery.ui.datepicker.css, jquery.ui.theme.css
|
4
|
+
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault='Open%20Sans'%2CArial%2Csans-serif&fwDefault=normal&fsDefault=18px&cornerRadius=0&bgColorHeader=%23fff&bgTextureHeader=highlight_soft&bgImgOpacityHeader=100&borderColorHeader=%23fff&fcHeader=%23404040&iconColorHeader=%23404040&bgColorContent=%23ffffff&bgTextureContent=flat&bgImgOpacityContent=100&borderColorContent=%23ddd&fcContent=%23404040&iconColorContent=%23404040&bgColorDefault=%23fff&bgTextureDefault=flat&bgImgOpacityDefault=100&borderColorDefault=%23fff&fcDefault=%23404040&iconColorDefault=%23404040&bgColorHover=%23fff&bgTextureHover=flat&bgImgOpacityHover=100&borderColorHover=%23b344f3&fcHover=%23404040&iconColorHover=%23404040&bgColorActive=%23ffffff&bgTextureActive=glass&bgImgOpacityActive=100&borderColorActive=%23b344f3&fcActive=%23404040&iconColorActive=%23404040&bgColorHighlight=%23fff&bgTextureHighlight=flat&bgImgOpacityHighlight=100&borderColorHighlight=%23b344f3&fcHighlight=%23404040&iconColorHighlight=%23404040&bgColorError=%23fff&bgTextureError=glass&bgImgOpacityError=100&borderColorError=%23e74c3c&fcError=%23e74c3c&iconColorError=%23e74c3c&bgColorOverlay=%23fff&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=%23000&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=0&thicknessShadow=0&offsetTopShadow=0&offsetLeftShadow=0&cornerRadiusShadow=0
|
5
|
+
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default !important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{font-weight:normal;margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker tr,.ui-datepicker tr:hover{background:#fff}.ui-datepicker th{background:none;padding:.7em .3em;text-align:center;font-size:13px;font-weight:normal;border:0;text-align:right;text-transform:uppercase;letter-spacing:1px}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-widget{font-family:'Open Sans',Arial,sans-serif;font-size:18px}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:'Open Sans',Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#fff url(/assets/kilt/ui-bg_flat_100_ffffff_40x100.png) 50% 50% repeat-x;color:#404040}.ui-widget-content a{color:#404040}.ui-widget-header{border:1px solid #fff;background:#fff url(/assets/kilt/ui-bg_highlight-soft_100_fff_1x100.png) 50% 50% repeat-x;color:#404040;font-weight:bold}.ui-widget-header a{color:#404040}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #fff;background:#fff url(/assets/kilt/ui-bg_flat_100_fff_40x100.png) 50% 50% repeat-x;font-weight:normal;color:#404040}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#404040;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #b344f3;background:#fff url(/assets/kilt/ui-bg_flat_100_fff_40x100.png) 50% 50% repeat-x;font-weight:normal;color:#404040}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#404040;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #b344f3;background:#fff url(/assets/kilt/ui-bg_glass_100_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#404040}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#404040;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fff;background:#ddd;color:#404040}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#404040}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #e74c3c;background:#fff url(/assets/kilt/ui-bg_glass_100_fff_1x400.png) 50% 50% repeat-x;color:#e74c3c}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#e74c3c}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#e74c3c}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(/assets/kilt/ui-icons_404040_256x240.png)}.ui-widget-header .ui-icon{background-image:url(/assets/kilt/ui-icons_404040_256x240.png)}.ui-state-default .ui-icon{background-image:url(/assets/kilt/ui-icons_404040_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(/assets/kilt/ui-icons_404040_256x240.png)}.ui-state-active .ui-icon{background-image:url(/assets/kilt/ui-icons_404040_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(/assets/kilt/ui-icons_404040_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(/assets/kilt/ui-icons_e74c3c_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:0}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:0}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:0}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:0}.ui-widget-overlay{background:#fff url(/assets/kilt/ui-bg_flat_0_fff_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:0 0 0 0;padding:0;background:#000 url(/assets/kilt/ui-bg_flat_0_000_40x100.png) 50% 50% repeat-x;opacity:0;filter:Alpha(Opacity=0);border-radius:0}.CodeMirror{font-family:monospace;height:300px;border:1px solid #ccc}.CodeMirror-scroll{overflow:auto}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:white}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999}.CodeMirror div.CodeMirror-cursor{border-left:1px solid black;z-index:3}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor{width:auto;border:0;background:#7e7;z-index:1}.cm-tab{display:inline-block}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable{color:black}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-property{color:black}.cm-s-default .cm-operator{color:black}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:bold}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-s-default .cm-error{color:#f00}.cm-invalidchar{color:#f00}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{line-height:1;position:relative;overflow:hidden;background:white;color:black}.CodeMirror-scroll{margin-bottom:-30px;padding-bottom:30px;height:100%;outline:none;position:relative;-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-sizer{position:relative}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;padding-bottom:30px;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;-moz-box-sizing:content-box;box-sizing:content-box;padding-bottom:30px;margin-bottom:-32px;display:inline-block;*zoom:1;*display:inline}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-lines{cursor:text}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-code pre{border-right:30px solid transparent;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.CodeMirror-wrap .CodeMirror-code pre{border-right:none;width:auto}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-wrap .CodeMirror-scroll{overflow-x:hidden}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-measure pre{position:static}.CodeMirror div.CodeMirror-cursor{position:absolute;visibility:hidden;border-right:none;width:0}.CodeMirror-focused div.CodeMirror-cursor{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,0.4)}.CodeMirror span{*vertical-align:text-bottom}@media print{.CodeMirror div.CodeMirror-cursor{visibility:hidden}}
|
@@ -0,0 +1,122 @@
|
|
1
|
+
module Kilt
|
2
|
+
class KiltController < ActionController::Base
|
3
|
+
layout 'kilt/cms'
|
4
|
+
protect_from_forgery
|
5
|
+
before_filter :ensure_config
|
6
|
+
|
7
|
+
# Show all the object types
|
8
|
+
def index
|
9
|
+
@types = Kilt.types
|
10
|
+
end
|
11
|
+
|
12
|
+
# Show the list of items for a specific object type
|
13
|
+
def list
|
14
|
+
@type = params[:types].singularize
|
15
|
+
@objects = Kilt.send(@type.pluralize).order('name')
|
16
|
+
end
|
17
|
+
|
18
|
+
# Create a new object
|
19
|
+
def new
|
20
|
+
@type = params[:types].singularize
|
21
|
+
@object = Kilt::Object.new(@type)
|
22
|
+
end
|
23
|
+
|
24
|
+
# Post back a new object
|
25
|
+
def create
|
26
|
+
type = params[:types].singularize
|
27
|
+
|
28
|
+
# Get the params
|
29
|
+
p = params[type]
|
30
|
+
|
31
|
+
# Ensure we have a name
|
32
|
+
if p['name'] == ''
|
33
|
+
flash[:error] = "Name is required"
|
34
|
+
redirect_to new_object_path(type.pluralize)
|
35
|
+
else
|
36
|
+
# Create an object and fill it with the values passed in by the form
|
37
|
+
object = Kilt::Object.new(type)
|
38
|
+
object.fill(p)
|
39
|
+
|
40
|
+
# Call Kilt's update method
|
41
|
+
if Kilt.create(object)
|
42
|
+
flash[:notice] = "#{type.capitalize} successfully updated"
|
43
|
+
redirect_to edit_object_path(type.pluralize, object.slug)
|
44
|
+
else
|
45
|
+
flash[:error] = "Couldn't save #{type.capitalize}"
|
46
|
+
redirect_to new_object_path(type.pluralize)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
# View/Edit a specific object
|
53
|
+
def edit
|
54
|
+
@type = params[:types].singularize
|
55
|
+
@slug = params[:slug]
|
56
|
+
@object = Kilt.get(@slug)
|
57
|
+
end
|
58
|
+
|
59
|
+
# Update an object
|
60
|
+
def update
|
61
|
+
type = params[:types].singularize
|
62
|
+
slug = params[:slug]
|
63
|
+
|
64
|
+
# Get the params
|
65
|
+
p = params[type]
|
66
|
+
|
67
|
+
# Ensure we have a name
|
68
|
+
if p['name'] == ''
|
69
|
+
flash[:error] = "Name is required"
|
70
|
+
redirect_to edit_object_path(type.pluralize, slug)
|
71
|
+
else
|
72
|
+
# Create an object and fill it with the values passed in by the form
|
73
|
+
object = Kilt.get(slug)
|
74
|
+
object.fill(p)
|
75
|
+
|
76
|
+
# Call Kilt's update method
|
77
|
+
if Kilt.update(slug, object)
|
78
|
+
flash[:notice] = "#{type.capitalize} successfully updated"
|
79
|
+
else
|
80
|
+
flash[:error] = "Couldn't save #{type.capitalize}"
|
81
|
+
end
|
82
|
+
|
83
|
+
# redirect to the edit screen
|
84
|
+
redirect_to edit_object_path(type.pluralize, object.slug)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
# Delete an object
|
89
|
+
def delete
|
90
|
+
type = params[:types].singularize
|
91
|
+
slug = params[:slug]
|
92
|
+
object = Kilt.get(slug)
|
93
|
+
|
94
|
+
# Call Kilt's update method
|
95
|
+
if Kilt.delete(slug)
|
96
|
+
flash[:notice] = "#{type.capitalize} successfully deleted"
|
97
|
+
else
|
98
|
+
flash[:error] = "Couldn't delete #{type.capitalize}"
|
99
|
+
end
|
100
|
+
|
101
|
+
# redirect to the list screen
|
102
|
+
redirect_to list_path(type.pluralize)
|
103
|
+
end
|
104
|
+
|
105
|
+
private
|
106
|
+
|
107
|
+
def ensure_config
|
108
|
+
if Kilt.config.empty? || !Kilt.config.db
|
109
|
+
lines = []
|
110
|
+
lines << '<pre>'
|
111
|
+
lines << 'The Kilt gem has been installed, but you haven\'t configured it yet.'
|
112
|
+
lines << 'Start configuring Kilt by running the following command:'
|
113
|
+
lines << ''
|
114
|
+
lines << ' rails g kilt:backend'
|
115
|
+
lines << ''
|
116
|
+
lines << 'Then open config/kilt/config.yml and config/kilt/creds.yml, add your database information, define your data model, start Rails, and visit http://<your_app>/admin'
|
117
|
+
lines << '</pre>'
|
118
|
+
render :text => lines.join("\n")
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<div id="file-<%= index %>" class="form-input text">
|
2
|
+
<label><%= Kilt::Utils.deslugify field_name %></label>
|
3
|
+
|
4
|
+
<% if object["#{field_name}"] && object["#{field_name}"] != '' %>
|
5
|
+
<div class="filename">
|
6
|
+
<span><%= link_to object["#{field_name}"], Kilt::Utils.download_location(field_name, object["#{field_name}"]), :target => '_blank' %>
|
7
|
+
<a class="button delete <% if !object["#{field_name}"] || object["#{field_name}"] == "" %>hidden<% end %>">Reset/remove file</a></span>
|
8
|
+
</div>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
<div class="uploader <% if object["#{field_name}"] && object["#{field_name}"] != "" %>hidden<% end %>">
|
12
|
+
<input id="file-input-<%= index%>" name="<%= "#{object.type}[#{field_name}]" %>" type="file" />
|
13
|
+
</div>
|
14
|
+
|
15
|
+
<input id="file-hidden-<%= index%>" name="<%= "#{object.type}[#{field_name}-hidden]" %>" type="hidden" />
|
16
|
+
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<script type="text/javascript">
|
20
|
+
var $file = $('#file-<%= index %>'),
|
21
|
+
$filename = $file.find('.filename'),
|
22
|
+
$reset = $file.find('a.delete'),
|
23
|
+
$uploader = $file.find('.uploader');
|
24
|
+
|
25
|
+
// Remove the video
|
26
|
+
$reset.on("click", function(e) {
|
27
|
+
$uploader.removeClass('hidden');
|
28
|
+
$('#file-hidden-<%= index %>').val('clear');
|
29
|
+
$reset.addClass('hidden');
|
30
|
+
$filename.hide();
|
31
|
+
});
|
32
|
+
|
33
|
+
</script>
|
34
|
+
|
35
|
+
<style>
|
36
|
+
#file-<%= index %> .filename {
|
37
|
+
}
|
38
|
+
|
39
|
+
#file-<%= index %> .filename span {
|
40
|
+
background: #efefef;
|
41
|
+
display: inline-block;
|
42
|
+
min-width: 50%;
|
43
|
+
padding: 8px 4px 8px 8px;
|
44
|
+
}
|
45
|
+
|
46
|
+
#file-<%= index %> a.delete {
|
47
|
+
color: #ddd;
|
48
|
+
display: auto;
|
49
|
+
float: right;
|
50
|
+
}
|
51
|
+
|
52
|
+
#file-<%= index %> .hidden {
|
53
|
+
display: none;
|
54
|
+
}
|
55
|
+
|
56
|
+
#file-<%= index %> .uploader {
|
57
|
+
display: auto;
|
58
|
+
}
|
59
|
+
</style>
|
@@ -0,0 +1,72 @@
|
|
1
|
+
<div class="form-input text">
|
2
|
+
<label><%= Kilt::Utils.deslugify field_name %></label>
|
3
|
+
|
4
|
+
<% if object["#{field_name}"] && object["#{field_name}"] != '' %>
|
5
|
+
<div id="image-container-<%= index %>">
|
6
|
+
<div id="image-<%= index %>">
|
7
|
+
<%= image_tag Kilt::Utils.download_location(field_name, object["#{field_name}"]), :width => '100%' %>
|
8
|
+
</div>
|
9
|
+
<div>
|
10
|
+
<a id="image-reset-<%= index%>" class="button delete <% if !object["#{field_name}"] || object["#{field_name}"] == "" %>hidden<% end %>">Reset/remove image</a>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<div id="image-placeholder-<%= index %>" class="<% if object["#{field_name}"] && object["#{field_name}"] != "" %>hidden<% end %>">
|
16
|
+
<input id="image-input-<%= index%>" name="<%= "#{object.type}[#{field_name}]" %>" type="file" accept="image/*" />
|
17
|
+
<div id="image-tip-<%= index %>" class="tip">
|
18
|
+
Only images of type PNG, JPEG, and GIF can be uploaded.
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<input id="image-hidden-<%= index%>" name="<%= "#{object.type}[#{field_name}-hidden]" %>" type="hidden" />
|
23
|
+
|
24
|
+
</div>
|
25
|
+
|
26
|
+
<script type="text/javascript">
|
27
|
+
|
28
|
+
// Remove the video
|
29
|
+
$('#image-reset-<%= index %>').on("click", function(e) {
|
30
|
+
$('#image-placeholder-<%= index %>').removeClass('hidden');
|
31
|
+
$('#image-hidden-<%= index %>').val('clear');
|
32
|
+
$('#image-reset-<%= index %>').addClass('hidden');
|
33
|
+
$('#image-<%= index %>').hide();
|
34
|
+
$('#image-container-<%= index %>').addClass('hidden');
|
35
|
+
});
|
36
|
+
|
37
|
+
</script>
|
38
|
+
|
39
|
+
<style>
|
40
|
+
#image-container-<%= index %> {
|
41
|
+
background: #efefef;
|
42
|
+
display: inline-block;
|
43
|
+
min-width: 50%;
|
44
|
+
padding: 10px 10px;
|
45
|
+
}
|
46
|
+
|
47
|
+
#image-container-<%= index %>.hidden {
|
48
|
+
display: none;
|
49
|
+
}
|
50
|
+
|
51
|
+
#image-reset-<%= index %>,
|
52
|
+
#image-placeholder-<%= index %>,
|
53
|
+
#image-tip-<%= index %>{
|
54
|
+
display: auto;
|
55
|
+
}
|
56
|
+
|
57
|
+
#image-reset-<%= index %> {
|
58
|
+
background: #fff;
|
59
|
+
color: #ddd;
|
60
|
+
margin-top: 4px;
|
61
|
+
}
|
62
|
+
|
63
|
+
#image-reset-<%= index %>:hover {
|
64
|
+
background: #e74c3c;
|
65
|
+
}
|
66
|
+
|
67
|
+
#image-reset-<%= index %>.hidden,
|
68
|
+
#image-placeholder-<%= index %>.hidden,
|
69
|
+
#image-tip-<%= index %>.hidden {
|
70
|
+
display: none;
|
71
|
+
}
|
72
|
+
</style>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<div class="form-input text number">
|
2
|
+
<label><%= Kilt::Utils.deslugify field_name %></label>
|
3
|
+
<input id="number-<%= index %>" name="<%= "#{object.type}[#{field_name}]" %>" type="text" value="<%= object["#{field_name}"] %>" />
|
4
|
+
</div>
|
5
|
+
|
6
|
+
<script type="text/javascript">
|
7
|
+
$('#number-<%= index %>').keypress(function(e) {
|
8
|
+
var charCode = e.which;
|
9
|
+
|
10
|
+
// Only allow numbers and decimals
|
11
|
+
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
|
12
|
+
return false;
|
13
|
+
}
|
14
|
+
|
15
|
+
// Don't allow a second decimal
|
16
|
+
if (charCode == 46 && $(this).val().replace(/[^.]/g, "").length > 0) {
|
17
|
+
return false;
|
18
|
+
}
|
19
|
+
|
20
|
+
// Otherwise return true
|
21
|
+
return true;
|
22
|
+
});
|
23
|
+
</script>
|
@@ -0,0 +1,100 @@
|
|
1
|
+
<div class="form-input text vimeo">
|
2
|
+
<label><%= Kilt::Utils.deslugify field_name %></label>
|
3
|
+
|
4
|
+
<%# Keep the actual value in a hidden field %>
|
5
|
+
<input id="<%= "vimeo-#{index}" %>" name="<%= "#{object.type}[#{field_name}]" %>" type="hidden" value="<%= object["#{field_name}"] %>">
|
6
|
+
|
7
|
+
<div id="vimeo-container-<%= index %>" class="<% if !(object["#{field_name}"] && object["#{field_name}"] != "") %>hidden<% end %>">
|
8
|
+
<div id="vimeo-placeholder-<%= index %>">
|
9
|
+
<%# Show the video if we have it %>
|
10
|
+
<div id="vimeo-placeholder-<%= index%>">
|
11
|
+
<% if object["#{field_name}"] && object["#{field_name}"] != "" %>
|
12
|
+
<iframe src="//player.vimeo.com/video/<%= object["#{field_name}"] %>?title=0&byline=0&portrait=0&color=dedede" width="100%" height="315" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
|
13
|
+
<% end %>
|
14
|
+
</div>
|
15
|
+
<div>
|
16
|
+
<a id="vimeo-reset-<%= index%>" class="button delete <% if !object["#{field_name}"] || object["#{field_name}"] == "" %>hidden<% end %>">Reset/remove video</a>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
<div>
|
21
|
+
<input id="<%= "vimeo-input-#{index}" %>" type="text" <% if object["#{field_name}"] && object["#{field_name}"] != "" %>class="hidden"<% end %> placeholder="Paste or enter a Vimeo video URL here">
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
|
25
|
+
<script type="text/javascript">
|
26
|
+
|
27
|
+
// Utility function
|
28
|
+
function vimeo_parser_<%= index%>(url){
|
29
|
+
var match = url.match(/http:\/\/(www\.)?vimeo.com\/(\d+)($|\/)/);
|
30
|
+
if (match){
|
31
|
+
return match[2];
|
32
|
+
} else {
|
33
|
+
return false;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
// Act accordingly when we can successfully get a vimeo id
|
38
|
+
$('#vimeo-input-<%= index %>').bind("change keyup", function(e) {
|
39
|
+
val = vimeo_parser_<%= index%>($(this).val());
|
40
|
+
if(val != false) {
|
41
|
+
// Inject an iFrame with the vimeo video
|
42
|
+
var $iframe = $('<iframe width="100%" height="315" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>');
|
43
|
+
$iframe.attr('src', '//player.vimeo.com/video/' + val + '?title=0&byline=0&portrait=0&color=dedede');
|
44
|
+
$('#vimeo-placeholder-<%= index %>').html($iframe);
|
45
|
+
|
46
|
+
// Show the reset button
|
47
|
+
$('#vimeo-reset-<%= index %>').removeClass('hidden');
|
48
|
+
|
49
|
+
// Set the hidden field value
|
50
|
+
$('#vimeo-<%= index %>').val(val);
|
51
|
+
|
52
|
+
// Hide the text input
|
53
|
+
$(this).addClass('hidden');
|
54
|
+
$('#vimeo-container-<%= index %>').removeClass('hidden');
|
55
|
+
}
|
56
|
+
});
|
57
|
+
|
58
|
+
// Remove the video
|
59
|
+
$('#vimeo-reset-<%= index %>').on("click", function(e) {
|
60
|
+
$('#vimeo-placeholder-<%= index %>').html('');
|
61
|
+
$('#vimeo-reset-<%= index %>').addClass('hidden');
|
62
|
+
$('#vimeo-<%= index %>').val('');
|
63
|
+
$('#vimeo-input-<%= index %>').val('').removeClass('hidden');
|
64
|
+
$('#vimeo-container-<%= index %>').addClass('hidden');
|
65
|
+
});
|
66
|
+
|
67
|
+
</script>
|
68
|
+
|
69
|
+
<style>
|
70
|
+
#vimeo-container-<%= index %> {
|
71
|
+
background: #efefef;
|
72
|
+
display: inline-block;
|
73
|
+
min-width: 50%;
|
74
|
+
padding: 10px 10px;
|
75
|
+
}
|
76
|
+
|
77
|
+
#vimeo-container-<%= index %>.hidden {
|
78
|
+
display: none;
|
79
|
+
}
|
80
|
+
|
81
|
+
#vimeo-reset-<%= index %> {
|
82
|
+
background: #fff;
|
83
|
+
color: #ddd;
|
84
|
+
margin-top: 4px;
|
85
|
+
}
|
86
|
+
|
87
|
+
#vimeo-reset-<%= index %>:hover {
|
88
|
+
background: #e74c3c;
|
89
|
+
}
|
90
|
+
|
91
|
+
#vimeo-reset-<%= index %>,
|
92
|
+
#vimeo-input-<%= index %> {
|
93
|
+
display: auto;
|
94
|
+
}
|
95
|
+
|
96
|
+
#vimeo-reset-<%= index %>.hidden,
|
97
|
+
#vimeo-input-<%= index %>.hidden {
|
98
|
+
display: none;
|
99
|
+
}
|
100
|
+
</style>
|
@@ -0,0 +1,98 @@
|
|
1
|
+
<div class="form-input text youtube">
|
2
|
+
<label><%= Kilt::Utils.deslugify field_name %></label>
|
3
|
+
|
4
|
+
<%# Keep the actual value in a hidden field %>
|
5
|
+
<input id="<%= "youtube-#{index}" %>" name="<%= "#{object.type}[#{field_name}]" %>" type="hidden" value="<%= object["#{field_name}"] %>">
|
6
|
+
|
7
|
+
<div id="youtube-container-<%= index %>" class="<% if !(object["#{field_name}"] && object["#{field_name}"] != "") %>hidden<% end %>">
|
8
|
+
<%# Show the video if we have it %>
|
9
|
+
<div id="youtube-placeholder-<%= index%>">
|
10
|
+
<% if object["#{field_name}"] && object["#{field_name}"] != "" %>
|
11
|
+
<iframe width="100%" height="315" src="//www.youtube.com/embed/<%= object["#{field_name}"] %>" frameborder="0" allowfullscreen></iframe>
|
12
|
+
<% end %>
|
13
|
+
</div>
|
14
|
+
<div>
|
15
|
+
<a id="youtube-reset-<%= index%>" class="button delete <% if !object["#{field_name}"] || object["#{field_name}"] == "" %>hidden<% end %>">Reset/remove video</a>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
<div>
|
19
|
+
<input id="<%= "youtube-input-#{index}" %>" type="text" <% if object["#{field_name}"] && object["#{field_name}"] != "" %>class="hidden"<% end %> placeholder="Paste or enter a YouTube video URL here">
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<script type="text/javascript">
|
24
|
+
|
25
|
+
// Utility function
|
26
|
+
function youtube_parser_<%= index%>(url){
|
27
|
+
var match = url.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/);
|
28
|
+
if (match && match[2].length == 11){
|
29
|
+
return match[2];
|
30
|
+
} else {
|
31
|
+
return false;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
// Act accordingly when we can successfully get a youtube id
|
36
|
+
$('#youtube-input-<%= index %>').bind("change keyup", function(e) {
|
37
|
+
val = youtube_parser_<%= index%>($(this).val());
|
38
|
+
if(val != false) {
|
39
|
+
// Inject an iFrame with the YouTube video
|
40
|
+
var $iframe = $('<iframe width="100%" height="315" frameborder="0" allowfullscreen />');
|
41
|
+
$iframe.attr('src', '//www.youtube.com/embed/' + val);
|
42
|
+
$('#youtube-placeholder-<%= index %>').html($iframe);
|
43
|
+
|
44
|
+
// Show the reset button
|
45
|
+
$('#youtube-reset-<%= index %>').removeClass('hidden');
|
46
|
+
|
47
|
+
// Set the hidden field value
|
48
|
+
$('#youtube-<%= index %>').val(val);
|
49
|
+
|
50
|
+
// Hide the text input
|
51
|
+
$(this).addClass('hidden');
|
52
|
+
$('#youtube-container-<%= index %>').removeClass('hidden');
|
53
|
+
}
|
54
|
+
});
|
55
|
+
|
56
|
+
// Remove the video
|
57
|
+
$('#youtube-reset-<%= index %>').on("click", function(e) {
|
58
|
+
$('#youtube-placeholder-<%= index %>').html('');
|
59
|
+
$('#youtube-reset-<%= index %>').addClass('hidden');
|
60
|
+
$('#youtube-<%= index %>').val('');
|
61
|
+
$('#youtube-input-<%= index %>').val('').removeClass('hidden');
|
62
|
+
$('#youtube-container-<%= index %>').addClass('hidden');
|
63
|
+
});
|
64
|
+
|
65
|
+
</script>
|
66
|
+
|
67
|
+
<style>
|
68
|
+
#youtube-container-<%= index %> {
|
69
|
+
background: #efefef;
|
70
|
+
display: inline-block;
|
71
|
+
min-width: 50%;
|
72
|
+
padding: 10px 10px;
|
73
|
+
}
|
74
|
+
|
75
|
+
#youtube-container-<%= index %>.hidden {
|
76
|
+
display: none;
|
77
|
+
}
|
78
|
+
|
79
|
+
#youtube-reset-<%= index %> {
|
80
|
+
background: #fff;
|
81
|
+
color: #ddd;
|
82
|
+
margin-top: 4px;
|
83
|
+
}
|
84
|
+
|
85
|
+
#youtube-reset-<%= index %>:hover {
|
86
|
+
background: #e74c3c;
|
87
|
+
}
|
88
|
+
|
89
|
+
#youtube-reset-<%= index %>,
|
90
|
+
#youtube-input-<%= index %> {
|
91
|
+
display: auto;
|
92
|
+
}
|
93
|
+
|
94
|
+
#youtube-reset-<%= index %>.hidden,
|
95
|
+
#youtube-input-<%= index %>.hidden {
|
96
|
+
display: none;
|
97
|
+
}
|
98
|
+
</style>
|