workarea-accordions 3.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.codeclimate.yml +28 -0
- data/.editorconfig +20 -0
- data/.eslintignore +4 -0
- data/.eslintrc +20 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
- data/.github/ISSUE_TEMPLATE/documentation-request.md +17 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/workflows/ci.yml +60 -0
- data/.gitignore +12 -0
- data/.rubocop.yml +3 -0
- data/.stylelintrc.json +8 -0
- data/CHANGELOG.md +12 -0
- data/CODE_OF_CONDUCT.md +3 -0
- data/CONTRIBUTING.md +3 -0
- data/Gemfile +18 -0
- data/LICENSE.md +3 -0
- data/README.md +35 -0
- data/Rakefile +49 -0
- data/app/assets/javascripts/workarea/storefront/accordions/config.js +18 -0
- data/app/assets/javascripts/workarea/storefront/accordions/modules/accordions.js +44 -0
- data/app/assets/stylesheets/workarea/jquery_ui/storefront/accordions/_ui_accordion.scss +13 -0
- data/bin/rails +18 -0
- data/config/routes.rb +2 -0
- data/lib/tasks/accordions_tasks.rake +4 -0
- data/lib/workarea/accordions.rb +10 -0
- data/lib/workarea/accordions/engine.rb +30 -0
- data/lib/workarea/accordions/version.rb +5 -0
- data/package.json +9 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/config/manifest.js +4 -0
- data/test/dummy/app/assets/images/.keep +0 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/controllers/concerns/.keep +0 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/jobs/application_job.rb +2 -0
- data/test/dummy/app/mailers/application_mailer.rb +4 -0
- data/test/dummy/app/models/concerns/.keep +0 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
- data/test/dummy/app/views/layouts/mailer.text.erb +1 -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/bin/setup +34 -0
- data/test/dummy/bin/update +29 -0
- data/test/dummy/config.ru +5 -0
- data/test/dummy/config/application.rb +26 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/cable.yml +9 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +56 -0
- data/test/dummy/config/environments/production.rb +86 -0
- data/test/dummy/config/environments/test.rb +43 -0
- data/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +5 -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/mime_types.rb +4 -0
- data/test/dummy/config/initializers/new_framework_defaults.rb +18 -0
- data/test/dummy/config/initializers/workarea.rb +5 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/puma.rb +47 -0
- data/test/dummy/config/routes.rb +5 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/config/spring.rb +6 -0
- data/test/dummy/db/seeds.rb +2 -0
- data/test/dummy/lib/assets/.keep +0 -0
- data/test/dummy/log/.keep +0 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
- data/test/dummy/public/apple-touch-icon.png +0 -0
- data/test/dummy/public/favicon.ico +1 -0
- data/test/system/workarea/accordions/storefront_system_test.rb +13 -0
- data/test/test_helper.rb +8 -0
- data/workarea-accordions.gemspec +22 -0
- data/yarn.lock +3290 -0
- metadata +187 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 28185b3c57ad4f88732bf89e02448e46eb51f6668d8876f4b4b6091a43efc0b6
|
4
|
+
data.tar.gz: d4ae3c30307f74bc4eb1a746a96d22eccc86d5f43fd001b1fed36ccb4d243886
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c9c78b344655d851d24ee58bd23d48122bfc6679c975109b692d2c18dd4ecaffbdf8269e336085cc1be440910fba1fb00ea228b450146632d721b1d305dfc9cb
|
7
|
+
data.tar.gz: b6fcea76d4ba0da375b05c2f6c82cbb12e1e7e53feec89dc0724d3ff9fe09a9cb12d80bc6f5f79fba0ab5e89573836b2f0e13361bb7ab6df66de472156ea2f3f
|
data/.codeclimate.yml
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
---
|
2
|
+
engines:
|
3
|
+
scss-lint:
|
4
|
+
enabled: true
|
5
|
+
duplication:
|
6
|
+
enabled: true
|
7
|
+
config:
|
8
|
+
languages:
|
9
|
+
- ruby
|
10
|
+
- javascript
|
11
|
+
eslint:
|
12
|
+
enabled: true
|
13
|
+
fixme:
|
14
|
+
enabled: true
|
15
|
+
rubocop:
|
16
|
+
enabled: true
|
17
|
+
ratings:
|
18
|
+
paths:
|
19
|
+
- "**.css"
|
20
|
+
- "**.js"
|
21
|
+
- "**.rb"
|
22
|
+
exclude_paths:
|
23
|
+
- "*/lib/**/engine.rb"
|
24
|
+
- "*/assets/**/dependencies/**/*"
|
25
|
+
- docs/**/*
|
26
|
+
- testing/**/*
|
27
|
+
- core/app/assets/javascripts/workarea/core/polyfills.js
|
28
|
+
- "**/vendor/**/*"
|
data/.editorconfig
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# editorconfig.org
|
2
|
+
root = true
|
3
|
+
|
4
|
+
[*]
|
5
|
+
charset = utf-8
|
6
|
+
indent_style = space
|
7
|
+
end_of_line = lf
|
8
|
+
trim_trailing_whitespace = true
|
9
|
+
insert_final_newline = true
|
10
|
+
|
11
|
+
[{*.rb,*.haml,*.decorator,*.yml,*.yaml,*.jbuilder}]
|
12
|
+
indent_size = 2
|
13
|
+
indent_style = space
|
14
|
+
|
15
|
+
[{*.js,*.jst,*.ejs,*.scss}]
|
16
|
+
indent_size = 4
|
17
|
+
|
18
|
+
[*.md]
|
19
|
+
indent_size = 4
|
20
|
+
trim_trailing_whitespace = false
|
data/.eslintignore
ADDED
data/.eslintrc
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
{
|
2
|
+
"extends": "eslint:recommended",
|
3
|
+
"globals": {
|
4
|
+
"window": true,
|
5
|
+
"document": true,
|
6
|
+
"WORKAREA": true,
|
7
|
+
"$": true,
|
8
|
+
"jQuery": true,
|
9
|
+
"_": true,
|
10
|
+
"feature": true,
|
11
|
+
"JST": true,
|
12
|
+
"Turbolinks": true,
|
13
|
+
"I18n": true,
|
14
|
+
"Chart": true,
|
15
|
+
"Dropzone": true,
|
16
|
+
"strftime": true,
|
17
|
+
"Waypoint": true,
|
18
|
+
"wysihtml5": true
|
19
|
+
}
|
20
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
---
|
2
|
+
name: Bug report
|
3
|
+
about: Create a report to help us improve Workarea
|
4
|
+
title: ''
|
5
|
+
labels: bug
|
6
|
+
assignees: ''
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
⚠️**Before you create**⚠️
|
11
|
+
Please verify the issue you're experiencing is not part of your Workarea project customizations. The best way to do this is with a [vanilla Workarea installation](https://developer.workarea.com/articles/create-a-new-host-application.html). This will help us spend time on fixes/improvements for the whole community. Thank you!
|
12
|
+
|
13
|
+
**Describe the bug**
|
14
|
+
A clear and concise description of what the bug is.
|
15
|
+
|
16
|
+
**To Reproduce**
|
17
|
+
Steps to reproduce the behavior:
|
18
|
+
1. Go to '...'
|
19
|
+
2. Click on '....'
|
20
|
+
3. Scroll down to '....'
|
21
|
+
4. See error
|
22
|
+
|
23
|
+
**Expected behavior**
|
24
|
+
A clear and concise description of what you expected to happen.
|
25
|
+
|
26
|
+
**Workarea Setup (please complete the following information):**
|
27
|
+
- Workarea Version: [e.g. v3.4.6]
|
28
|
+
- Plugins [e.g. workarea-blog, workarea-sitemaps]
|
29
|
+
|
30
|
+
**Attachments**
|
31
|
+
If applicable, add any attachments to help explain your problem, things like:
|
32
|
+
- screenshots
|
33
|
+
- Gemfile.lock
|
34
|
+
- test cases
|
35
|
+
|
36
|
+
**Additional context**
|
37
|
+
Add any other context about the problem here.
|
@@ -0,0 +1,17 @@
|
|
1
|
+
---
|
2
|
+
name: Documentation request
|
3
|
+
about: Suggest documentation
|
4
|
+
title: ''
|
5
|
+
labels: documentation
|
6
|
+
assignees: ''
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
**Is your documentation related to a problem? Please describe.**
|
11
|
+
A clear and concise description of what the problem is. Ex. I'm confused by [...]
|
12
|
+
|
13
|
+
**Describe the article you'd like**
|
14
|
+
A clear and concise description of what would be in the documentation article.
|
15
|
+
|
16
|
+
**Additional context**
|
17
|
+
Add any other context or screenshots about the feature request here.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
name: Feature request
|
3
|
+
about: Suggest an idea for Workarea
|
4
|
+
title: ''
|
5
|
+
labels: enhancement
|
6
|
+
assignees: ''
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
**Is your feature request related to a problem? Please describe.**
|
11
|
+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
12
|
+
|
13
|
+
**Describe the solution you'd like**
|
14
|
+
A clear and concise description of what you want to happen.
|
15
|
+
|
16
|
+
**Describe alternatives you've considered**
|
17
|
+
A clear and concise description of any alternative solutions or features you've considered.
|
18
|
+
|
19
|
+
**Additional context**
|
20
|
+
Add any other context or screenshots about the feature request here.
|
@@ -0,0 +1,60 @@
|
|
1
|
+
name: CI
|
2
|
+
on: [push]
|
3
|
+
|
4
|
+
jobs:
|
5
|
+
static_analysis:
|
6
|
+
runs-on: ubuntu-latest
|
7
|
+
steps:
|
8
|
+
- uses: actions/checkout@v1
|
9
|
+
- uses: workarea-commerce/ci/bundler-audit@v1
|
10
|
+
- uses: workarea-commerce/ci/rubocop@v1
|
11
|
+
- uses: workarea-commerce/ci/eslint@v1
|
12
|
+
with:
|
13
|
+
args: '**/*.js'
|
14
|
+
- uses: workarea-commerce/ci/stylelint@v1
|
15
|
+
with:
|
16
|
+
args: '**/*.scss'
|
17
|
+
|
18
|
+
admin_tests:
|
19
|
+
runs-on: ubuntu-latest
|
20
|
+
steps:
|
21
|
+
- uses: actions/checkout@v1
|
22
|
+
- uses: actions/setup-ruby@v1
|
23
|
+
with:
|
24
|
+
ruby-version: 2.6.x
|
25
|
+
- uses: workarea-commerce/ci/test@v1
|
26
|
+
with:
|
27
|
+
command: bin/rails app:workarea:test:admin
|
28
|
+
|
29
|
+
core_tests:
|
30
|
+
runs-on: ubuntu-latest
|
31
|
+
steps:
|
32
|
+
- uses: actions/checkout@v1
|
33
|
+
- uses: actions/setup-ruby@v1
|
34
|
+
with:
|
35
|
+
ruby-version: 2.6.x
|
36
|
+
- uses: workarea-commerce/ci/test@v1
|
37
|
+
with:
|
38
|
+
command: bin/rails app:workarea:test:core
|
39
|
+
|
40
|
+
storefront_tests:
|
41
|
+
runs-on: ubuntu-latest
|
42
|
+
steps:
|
43
|
+
- uses: actions/checkout@v1
|
44
|
+
- uses: actions/setup-ruby@v1
|
45
|
+
with:
|
46
|
+
ruby-version: 2.6.x
|
47
|
+
- uses: workarea-commerce/ci/test@v1
|
48
|
+
with:
|
49
|
+
command: bin/rails app:workarea:test:storefront
|
50
|
+
|
51
|
+
plugins_tests:
|
52
|
+
runs-on: ubuntu-latest
|
53
|
+
steps:
|
54
|
+
- uses: actions/checkout@v1
|
55
|
+
- uses: actions/setup-ruby@v1
|
56
|
+
with:
|
57
|
+
ruby-version: 2.6.x
|
58
|
+
- uses: workarea-commerce/ci/test@v1
|
59
|
+
with:
|
60
|
+
command: bin/rails app:workarea:test:plugins
|
data/.gitignore
ADDED
data/.rubocop.yml
ADDED
data/.stylelintrc.json
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
Workarea Accordions 3.0.3 (2019-07-23)
|
2
|
+
--------------------------------------------------------------------------------
|
3
|
+
|
4
|
+
* Fix accordion initialization when options.initIfLessThan is null
|
5
|
+
|
6
|
+
break_points.js now requires the argument to match an existing breakpoint name. Added a condition to initialize the accordion functionality if the default configuration of null is used. This maintains existing functionality and works with the improved API for break_points.js
|
7
|
+
|
8
|
+
ACCORDIONS-10
|
9
|
+
Jake Beresford
|
10
|
+
|
11
|
+
|
12
|
+
|
data/CODE_OF_CONDUCT.md
ADDED
data/CONTRIBUTING.md
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
3
|
+
|
4
|
+
# Declare your gem's dependencies in accordions.gemspec.
|
5
|
+
# Bundler will treat runtime dependencies like base dependencies, and
|
6
|
+
# development dependencies will be added by default to the :development group.
|
7
|
+
gemspec
|
8
|
+
|
9
|
+
# Declare any dependencies that are still in development here instead of in
|
10
|
+
# your gemspec. These might include edge Rails or gems from your path or
|
11
|
+
# Git. Remember to move these dependencies to your gemspec before releasing
|
12
|
+
# your gem to rubygems.org.
|
13
|
+
|
14
|
+
# To use a debugger
|
15
|
+
# gem 'byebug', group: [:development, :test]
|
16
|
+
|
17
|
+
|
18
|
+
gem 'workarea', github: 'workarea-commerce/workarea'
|
data/LICENSE.md
ADDED
data/README.md
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
Workarea Accordions
|
2
|
+
================================================================================
|
3
|
+
|
4
|
+
Accordions plugin for the Workarea Commerce platform.
|
5
|
+
|
6
|
+
Using Workarea Accordions
|
7
|
+
--------------------------------------------------------------------------------
|
8
|
+
|
9
|
+
Apply a `data-accordion` attribute to any element that contains appropriate accordion markup (See [https://jqueryui.com/accordion/](https://jqueryui.com/accordion/) for jQuery UI Accordion documentation). If no value is passed to the data attribute, then the default jQuery UI Accordion options will be used to init the accordion.
|
10
|
+
|
11
|
+
__New in version 2.0, the data attribute can only be passed an object for it's configuration.__
|
12
|
+
|
13
|
+
The configuration object accepts the following properties:
|
14
|
+
|
15
|
+
| Property | Data Type | Required? | Default| Notes |
|
16
|
+
|----------|-----------|-----------|--------|-------|
|
17
|
+
| `initIfLessThan` | string | no | `null` | Only init the accordion if breakpoint is less than the value passed. |
|
18
|
+
| `presetConfig` | string | no | n/a | Name of a preset configuration object |
|
19
|
+
| `uiAccordionOptions` | object | no | jQuery Accordion Defaults | jQuery Accordion Options |
|
20
|
+
|
21
|
+
### Examples
|
22
|
+
`.element{ data: { accordion: '' } }`
|
23
|
+
|
24
|
+
`.element{ data: { accordion: { presetConfig: 'alternativeAccordionOptions' }.to_json } }`
|
25
|
+
|
26
|
+
`.element{ data: { accordion: { initIfLessThan: 'medium', uiAccordionOptions: { animate: false } }.to_json } }`
|
27
|
+
|
28
|
+
Workarea Platform Documentation
|
29
|
+
--------------------------------------------------------------------------------
|
30
|
+
|
31
|
+
See [https://developer.workarea.com](https://developer.workarea.com) for Workarea platform documentation.
|
32
|
+
|
33
|
+
Copyright & Licensing
|
34
|
+
--------------------------------------------------------------------------------
|
35
|
+
Workarea Commerce Platform is released under the [Business Software License](https://github.com/workarea-commerce/workarea/blob/master/LICENSE)
|
data/Rakefile
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
begin
|
3
|
+
require 'bundler/setup'
|
4
|
+
rescue LoadError
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
|
+
end
|
7
|
+
|
8
|
+
require 'rdoc/task'
|
9
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
10
|
+
rdoc.rdoc_dir = 'rdoc'
|
11
|
+
rdoc.title = 'B2b'
|
12
|
+
rdoc.options << '--line-numbers'
|
13
|
+
rdoc.rdoc_files.include('README.md')
|
14
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
|
+
end
|
16
|
+
|
17
|
+
APP_RAKEFILE = File.expand_path('../test/dummy/Rakefile', __FILE__)
|
18
|
+
load 'rails/tasks/engine.rake'
|
19
|
+
load 'rails/tasks/statistics.rake'
|
20
|
+
load 'workarea/changelog.rake'
|
21
|
+
|
22
|
+
require 'rake/testtask'
|
23
|
+
Rake::TestTask.new(:test) do |t|
|
24
|
+
t.libs << 'lib'
|
25
|
+
t.libs << 'test'
|
26
|
+
t.pattern = 'test/**/*_test.rb'
|
27
|
+
t.verbose = false
|
28
|
+
end
|
29
|
+
task default: :test
|
30
|
+
|
31
|
+
$LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
|
32
|
+
require 'workarea/accordions/version'
|
33
|
+
|
34
|
+
desc "Release version #{Workarea::Accordions::VERSION} of the gem"
|
35
|
+
task :release do
|
36
|
+
host = "https://#{ENV['BUNDLE_GEMS__WEBLINC__COM']}@gems.weblinc.com"
|
37
|
+
|
38
|
+
Rake::Task['workarea:changelog'].execute
|
39
|
+
system 'git add CHANGELOG.md'
|
40
|
+
system 'git commit -m "Update CHANGELOG"'
|
41
|
+
system 'git push origin HEAD'
|
42
|
+
|
43
|
+
system "git tag -a v#{Workarea::Accordions::VERSION} -m 'Tagging #{Workarea::Accordions::VERSION}'"
|
44
|
+
system 'git push --tags'
|
45
|
+
|
46
|
+
system 'gem build workarea-accordions.gemspec'
|
47
|
+
system "gem push workarea-accordions-#{Workarea::Accordions::VERSION}.gem --host #{host}"
|
48
|
+
system "rm workarea-accordions-#{Workarea::Accordions::VERSION}.gem"
|
49
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
/**
|
2
|
+
* @namespace WORKAREA
|
3
|
+
*/
|
4
|
+
|
5
|
+
(function () {
|
6
|
+
'use strict';
|
7
|
+
|
8
|
+
/**
|
9
|
+
* @namespace WORKAREA.config
|
10
|
+
* @property {object} defaultAccordionOptions
|
11
|
+
*/
|
12
|
+
|
13
|
+
WORKAREA.config.defaultAccordionOptions = {
|
14
|
+
initIfLessThan: null, // by default, init accordions at all breakpoints
|
15
|
+
uiAccordionOptions: {} // use jQuery UI Accordion defaults
|
16
|
+
};
|
17
|
+
|
18
|
+
})();
|
@@ -0,0 +1,44 @@
|
|
1
|
+
/**
|
2
|
+
* @namespace WORKAREA.accordions
|
3
|
+
*/
|
4
|
+
WORKAREA.registerModule('accordions', (function () {
|
5
|
+
'use strict';
|
6
|
+
|
7
|
+
var initAccordions = function (index, element) {
|
8
|
+
var $element = $(element),
|
9
|
+
data = $element.data('accordion'),
|
10
|
+
options;
|
11
|
+
|
12
|
+
if (_.isEmpty(data)) {
|
13
|
+
|
14
|
+
options = WORKAREA.config.defaultAccordionOptions;
|
15
|
+
|
16
|
+
} else if (!_.isEmpty(data.presetConfig)) {
|
17
|
+
|
18
|
+
options = _.merge({}, WORKAREA.config[data.presetConfig], data);
|
19
|
+
|
20
|
+
} else {
|
21
|
+
|
22
|
+
options = _.merge({}, WORKAREA.config.defaultAccordionOptions, data);
|
23
|
+
}
|
24
|
+
|
25
|
+
if (_.isNull(options.initIfLessThan)) {
|
26
|
+
$element.accordion(options.uiAccordionOptions);
|
27
|
+
} else if (WORKAREA.breakPoints.currentlyLessThan(options.initIfLessThan)) {
|
28
|
+
$element.accordion(options.uiAccordionOptions);
|
29
|
+
}
|
30
|
+
},
|
31
|
+
|
32
|
+
/**
|
33
|
+
* @method
|
34
|
+
* @name init
|
35
|
+
* @memberof WORKAREA.accordions
|
36
|
+
*/
|
37
|
+
init = function ($scope) {
|
38
|
+
$('[data-accordion]', $scope).each(initAccordions);
|
39
|
+
};
|
40
|
+
|
41
|
+
return {
|
42
|
+
init: init
|
43
|
+
};
|
44
|
+
}()));
|