lanes 0.5.0 → 0.5.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/client/fonts/fontawesome-webfont.woff +0 -0
- data/client/fonts/fontawesome-webfont.woff2 +0 -0
- data/client/lanes/Boot.cjsx +1 -6
- data/client/lanes/components/grid/Body.cjsx +14 -1
- data/client/lanes/components/grid/Grid.cjsx +20 -19
- data/client/lanes/components/grid/Toolbar.cjsx +7 -4
- data/client/lanes/components/grid/editors.scss +1 -1
- data/client/lanes/components/grid/styles.scss +16 -5
- data/client/lanes/components/modal/Modal.cjsx +9 -11
- data/client/lanes/components/record-finder/RecordFinder.cjsx +2 -2
- data/client/lanes/components/record-finder/styles.scss +7 -5
- data/client/lanes/components/shared/FormGroup.cjsx +1 -1
- data/client/lanes/components/shared/Icon.cjsx +3 -2
- data/client/lanes/components/shared/Input.cjsx +1 -0
- data/client/lanes/components/shared/PanelHeader.cjsx +8 -0
- data/client/lanes/components/shared/fields.scss +5 -4
- data/client/lanes/components/shared/styles.scss +18 -0
- data/client/lanes/index.js +0 -1
- data/client/lanes/{plugins → lib}/ResizeSensor.js +0 -0
- data/client/lanes/lib/all.js +13 -0
- data/client/lanes/lib/dom.coffee +1 -1
- data/client/lanes/lib/format.coffee +2 -2
- data/client/lanes/lib/index.js.erb +1 -13
- data/client/lanes/lib/loader.coffee +2 -2
- data/client/lanes/lib/utilFunctions.coffee +12 -0
- data/client/lanes/models/AssociationMap.coffee +27 -18
- data/client/lanes/models/Base.coffee +12 -4
- data/client/lanes/models/Collection.coffee +5 -3
- data/client/lanes/models/PubSub.coffee +1 -1
- data/client/lanes/models/Query.coffee +0 -1
- data/client/lanes/models/State.coffee +5 -1
- data/client/lanes/models/Sync.coffee +5 -9
- data/client/lanes/models/query/ArrayResult.coffee +27 -7
- data/client/lanes/models/query/Result.coffee +2 -0
- data/client/lanes/react/Component.coffee +3 -3
- data/client/lanes/react/Viewport.coffee +17 -5
- data/client/lanes/react/mixins/Access.coffee +2 -2
- data/client/lanes/react/mixins/FieldErrors.coffee +3 -3
- data/client/lanes/remote/BaseClasses.coffee +0 -0
- data/client/lanes/remote/api.coffee +8 -0
- data/client/lanes/styles/fonts/_icons.scss +139 -2
- data/client/lanes/styles/fonts/_variables.scss +142 -4
- data/client/lanes/styles/global/mixins.scss +5 -0
- data/client/lanes/styles/global/styles.scss +5 -2
- data/client/lanes/styles/global.scss +1 -0
- data/client/lanes/vendor/base.js.erb +4 -2
- data/client/lanes/vendor/development/calendar.js +65 -65
- data/client/lanes/vendor/development/commons.js +34530 -34719
- data/client/lanes/vendor/development/data.js +30832 -0
- data/client/lanes/vendor/development/helpers.js +26 -26
- data/client/lanes/vendor/development/toggle.js +19 -19
- data/client/lanes/vendor/development/ui.js +22568 -0
- data/client/lanes/vendor/development/widgets.js +362 -362
- data/client/lanes/vendor/production/calendar.js +65 -65
- data/client/lanes/vendor/production/commons.js +34360 -34549
- data/client/lanes/vendor/production/data.js +30829 -0
- data/client/lanes/vendor/production/toggle.js +19 -19
- data/client/lanes/vendor/production/ui.js +22564 -0
- data/client/lanes/vendor/production/widgets.js +362 -362
- data/client/lanes/vendor/{production/base.js → standalone/index.js} +43836 -53602
- data/client/lanes/workspace/Modal.cjsx +1 -1
- data/client/lanes/workspace/styles/header.scss +1 -0
- data/client/lanes/workspace/styles/layout.scss +12 -0
- data/lanes.gemspec +1 -0
- data/lib/lanes/access/authentication_provider.rb +4 -3
- data/lib/lanes/api/coffeescript_processor.rb +9 -3
- data/lib/lanes/api/{controller.rb → controller_base.rb} +3 -35
- data/lib/lanes/api/formatted_reply.rb +2 -2
- data/lib/lanes/api/generic_controller.rb +42 -0
- data/lib/lanes/api/helper_methods.rb +1 -1
- data/lib/lanes/api/null_authentication_provider.rb +3 -0
- data/lib/lanes/api/request_wrapper.rb +32 -18
- data/lib/lanes/api/root.rb +25 -3
- data/lib/lanes/api/routing.rb +41 -22
- data/lib/lanes/api/sprockets_extension.rb +3 -1
- data/lib/lanes/api.rb +2 -1
- data/lib/lanes/configuration.rb +0 -1
- data/lib/lanes/extension/definition.rb +5 -1
- data/lib/lanes/hot_reload_plugin.rb +0 -1
- data/lib/lanes/version.rb +1 -1
- data/npm-build/build +3 -0
- data/npm-build/{base.js → data.js} +16 -16
- data/npm-build/package.json +3 -1
- data/npm-build/standalone.js +4 -0
- data/npm-build/ui.js +8 -0
- data/npm-build/webpack-standalone.config.js +16 -0
- data/npm-build/webpack.config.js +4 -3
- data/templates/config/lanes.rb +3 -3
- metadata +34 -10
- data/client/lanes/lib/noConflict.coffee +0 -15
- data/client/lanes/plugins/index.js +0 -1
- data/client/lanes/vendor/development/base.js +0 -61239
@@ -9,7 +9,7 @@ class ModelConfig
|
|
9
9
|
add: (model) ->
|
10
10
|
if @count is 0
|
11
11
|
Lanes.log.info "[pubsub] subscribe to: #{@channel}"
|
12
|
-
Lanes.Models.PubSub.mb
|
12
|
+
Lanes.Models.PubSub.mb?.subscribe(@channel, @mbCallBack(@models))
|
13
13
|
@count += 1
|
14
14
|
config = @modelConfig(model)
|
15
15
|
config.count += 1
|
@@ -52,7 +52,11 @@ class State
|
|
52
52
|
|
53
53
|
integer:
|
54
54
|
set: (newVal) ->
|
55
|
-
val =
|
55
|
+
val = switch
|
56
|
+
when _.isInteger(newVal) then newVal
|
57
|
+
when ! _.isBlank(newVal) then parseInt(newVal, 10)
|
58
|
+
else
|
59
|
+
undefined
|
56
60
|
{val, type: 'integer'}
|
57
61
|
file:
|
58
62
|
set: (val) ->
|
@@ -52,7 +52,7 @@ Lanes.Models.Sync = {
|
|
52
52
|
Lanes.Models.Sync.perform(method, options).then (reply) ->
|
53
53
|
handler(reply)
|
54
54
|
, (err) ->
|
55
|
-
reply = { errors: { http:
|
55
|
+
reply = { errors: { http: err?.error?.message or 'unknown' } }
|
56
56
|
try
|
57
57
|
reply = JSON.parse(err.body) unless _.isEmpty(err?.body)
|
58
58
|
finally
|
@@ -78,19 +78,15 @@ Lanes.Models.Sync = {
|
|
78
78
|
unless _.isEmpty(query)
|
79
79
|
options.url += '?' + Lanes.lib.objToParam(query)
|
80
80
|
|
81
|
-
# if options.data and !_.isString(options.data)
|
82
|
-
# options.originalData = options.data
|
83
|
-
# options.json = options.data
|
84
81
|
options.headers ||= {}
|
85
|
-
|
86
|
-
|
82
|
+
|
83
|
+
if Lanes.config.csrf_token
|
84
|
+
options.headers['X_CSRF_TOKEN'] = Lanes.config.csrf_token
|
87
85
|
options.contentType = "application/json"
|
88
86
|
|
89
|
-
# Make the request, allowing the user to override any Ajax options.
|
90
|
-
# xhr = options.xhr = Lanes.$.ajax(_.extend(params, options))
|
91
87
|
new _.Promise( (resolve, reject) ->
|
92
88
|
options.xhr = Lanes.Vendor.xhr(options, (err, resp, body) ->
|
93
|
-
if err
|
89
|
+
if err or resp.statusCode >= 400
|
94
90
|
reject(error:err, body:options.xhr.responseText)
|
95
91
|
else
|
96
92
|
resolve(body)
|
@@ -1,10 +1,12 @@
|
|
1
1
|
class Page
|
2
2
|
|
3
3
|
constructor: (@pageNum, @result, options = {}) ->
|
4
|
-
|
5
|
-
@rows
|
6
|
-
return if options.rows
|
4
|
+
@rows = options.rows
|
5
|
+
@_load() unless @rows or options.noLoad is true
|
7
6
|
|
7
|
+
_load: ->
|
8
|
+
@rows = []
|
9
|
+
query = {}
|
8
10
|
@result.query.clauses.each (clause) ->
|
9
11
|
_.extend( query, clause.toParam() ) if clause.isValid
|
10
12
|
|
@@ -25,13 +27,18 @@ class Page
|
|
25
27
|
options.order[field_name] = if @result.query.sortAscending then 'asc' else 'desc'
|
26
28
|
|
27
29
|
_.extend(options, _.omit(@result.query.syncOptions, 'include'))
|
28
|
-
|
29
|
-
|
30
|
+
# defer trigger in case we were called from render() and triggering
|
31
|
+
# would cause a loop that it's not in the render
|
32
|
+
_.defer => @result.query.trigger('request', @result.query, 'GET', {})
|
33
|
+
@result.requestInProgress = @requestInProgress = options
|
30
34
|
Lanes.Models.Sync.perform('GET', options).then (resp) =>
|
31
35
|
@result.total = resp.total
|
32
36
|
@rows = resp.data
|
33
37
|
delete @result.requestInProgress
|
34
|
-
@
|
38
|
+
delete @requestInProgress
|
39
|
+
_.defer => @result.onPageLoad(@)
|
40
|
+
|
41
|
+
isLoaded: -> not _.isUndefined(@rows)
|
35
42
|
|
36
43
|
_normalizedIndex: (index) ->
|
37
44
|
index = index % @result.pageSize
|
@@ -92,7 +99,7 @@ class Lanes.Models.Query.ArrayResult extends Lanes.Models.Query.Result
|
|
92
99
|
@total = 0
|
93
100
|
@pages = {}
|
94
101
|
|
95
|
-
pageForIndex: (index) ->
|
102
|
+
pageForIndex: (index, options = {}) ->
|
96
103
|
pageNum = Math.floor(index / @pageSize)
|
97
104
|
@pages[pageNum] ||= new Page(pageNum, this)
|
98
105
|
|
@@ -152,6 +159,19 @@ class Lanes.Models.Query.ArrayResult extends Lanes.Models.Query.Result
|
|
152
159
|
ensureLoaded: (options = {}) ->
|
153
160
|
@pageForIndex(options.page || 0).pendingLoad or _.Promise.resolve(@)
|
154
161
|
|
162
|
+
loadFully: ->
|
163
|
+
len = @length
|
164
|
+
console.log "Loading 0 ... #{len}, ps: #{pageSize}"
|
165
|
+
loading = []
|
166
|
+
|
167
|
+
for pageIndex in [0...len - 1] by @pageSize
|
168
|
+
page = @pageForIndex(pageIndex, noLoad: true)
|
169
|
+
loading.push page._load() unless page.isLoaded()
|
170
|
+
null
|
171
|
+
|
172
|
+
_.Promise.all(loading)
|
173
|
+
|
174
|
+
|
155
175
|
reload: (options = {}) ->
|
156
176
|
@pages = []
|
157
177
|
@total = 0
|
@@ -25,11 +25,11 @@ Lanes.React.Component = {
|
|
25
25
|
klass::mixins = _.uniq(klass::mixins.concat(mixins))
|
26
26
|
comp = React.createClass(klass.prototype)
|
27
27
|
extendComponent(comp)
|
28
|
-
return Lanes.lib.HotReload
|
28
|
+
return Lanes.lib.HotReload?.remember(comp) or comp
|
29
29
|
}
|
30
30
|
|
31
31
|
Lanes.React.BaseComponent = {
|
32
|
-
extend: (klass
|
32
|
+
extend: (klass) ->
|
33
33
|
comp = React.createClass(klass.prototype)
|
34
|
-
return Lanes.lib.HotReload
|
34
|
+
return Lanes.lib.HotReload?.remember(comp) or comp
|
35
35
|
}
|
@@ -14,6 +14,9 @@ class Lanes.React.Viewport extends Lanes.Models.State
|
|
14
14
|
reactRoot: 'object'
|
15
15
|
lanes: 'element'
|
16
16
|
modalProps: 'object'
|
17
|
+
pubSubDisabled: 'boolean'
|
18
|
+
rootComponent: 'any'
|
19
|
+
rootProps: 'object'
|
17
20
|
|
18
21
|
constructor: ->
|
19
22
|
super
|
@@ -21,7 +24,7 @@ class Lanes.React.Viewport extends Lanes.Models.State
|
|
21
24
|
return unless @selector
|
22
25
|
@domRoot = document.body.querySelector(@selector)
|
23
26
|
_.dom(@domRoot).addClass('lanes-root')
|
24
|
-
Lanes.fatal("Root selector #{@selector} not found") unless
|
27
|
+
Lanes.fatal("Root selector #{@selector} not found") unless @domRoot
|
25
28
|
_.dom(@domRoot).html = "<div class='lanes'/>"
|
26
29
|
this.lanes = @domRoot.querySelector('.lanes')
|
27
30
|
Lanes.lib.ResizeSensor(@domRoot, _.debounce( =>
|
@@ -29,6 +32,13 @@ class Lanes.React.Viewport extends Lanes.Models.State
|
|
29
32
|
, 250))
|
30
33
|
this._updateDimensions()
|
31
34
|
|
35
|
+
Lanes.Models.PubSub.initialize() unless @pubSubDisabled
|
36
|
+
Lanes.Extensions.fireOnInitialized(@)
|
37
|
+
@renderRoot()
|
38
|
+
Lanes.Extensions.fireOnAvailable(@)
|
39
|
+
@onBoot()
|
40
|
+
|
41
|
+
|
32
42
|
onBoot: ->
|
33
43
|
prev = _.dom(this.domRoot.previousElementSibling)
|
34
44
|
prev.addClass('complete') if prev.hasClass('loading')
|
@@ -55,10 +65,12 @@ class Lanes.React.Viewport extends Lanes.Models.State
|
|
55
65
|
@modalProps = _.extend(props, show: true)
|
56
66
|
|
57
67
|
renderRoot: ->
|
58
|
-
|
59
|
-
|
60
|
-
|
68
|
+
component = @rootComponent || (
|
69
|
+
cntrl = Lanes.Extensions.controlling()
|
70
|
+
component = cntrl?.rootComponent?(this) ||
|
71
|
+
Lanes.React.Root.DefaultComponentNotFound
|
72
|
+
)
|
61
73
|
root = React.createElement(Lanes.React.Root, {viewport: @},
|
62
|
-
React.createElement(component, extension: cntrl)
|
74
|
+
React.createElement(component, _.extend(@rootProps, extension: cntrl))
|
63
75
|
)
|
64
76
|
@reactRoot = Lanes.Vendor.ReactDOM.render(root, @lanes)
|
@@ -1,8 +1,8 @@
|
|
1
1
|
calculateAccess = (comp, props) ->
|
2
2
|
|
3
3
|
model = _.result(comp, 'modelForAccess') ||
|
4
|
-
comp.commands?.getModel()?.modelForAccess() ||
|
5
|
-
comp.model?.modelForAccess()
|
4
|
+
comp.commands?.getModel()?.modelForAccess?() ||
|
5
|
+
comp.model?.modelForAccess?()
|
6
6
|
|
7
7
|
accessRight = if props.readonly or comp.context?.readonly
|
8
8
|
'r'
|
@@ -5,7 +5,7 @@ Lanes.React.Mixins.FieldErrors = {
|
|
5
5
|
]
|
6
6
|
|
7
7
|
componentWillMount: ->
|
8
|
-
@getInvalidModel()?.maskInvalidFields()
|
8
|
+
@getInvalidModel()?.maskInvalidFields?()
|
9
9
|
|
10
10
|
getInvalidFieldName: ->
|
11
11
|
@props.validity_attribute || @props.name
|
@@ -18,10 +18,10 @@ Lanes.React.Mixins.FieldErrors = {
|
|
18
18
|
|
19
19
|
fieldInvalidValueMessage: ->
|
20
20
|
return '' unless @isEditingRecord()
|
21
|
-
@getInvalidModel()?.invalidMessageFor(
|
21
|
+
@getInvalidModel()?.invalidMessageFor?(
|
22
22
|
@getInvalidFieldName()
|
23
23
|
)
|
24
24
|
|
25
25
|
onFieldInteraction: ->
|
26
|
-
@getInvalidModel()?.unmaskInvalidField( @getInvalidFieldName() )
|
26
|
+
@getInvalidModel()?.unmaskInvalidField?( @getInvalidFieldName() )
|
27
27
|
}
|
File without changes
|
@@ -163,6 +163,7 @@
|
|
163
163
|
.#{$fa-css-prefix}-github:before { content: $fa-var-github; }
|
164
164
|
.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; }
|
165
165
|
.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; }
|
166
|
+
.#{$fa-css-prefix}-feed:before,
|
166
167
|
.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; }
|
167
168
|
.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; }
|
168
169
|
.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; }
|
@@ -437,7 +438,7 @@
|
|
437
438
|
.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; }
|
438
439
|
.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; }
|
439
440
|
.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; }
|
440
|
-
.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; }
|
441
|
+
.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; }
|
441
442
|
.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; }
|
442
443
|
.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; }
|
443
444
|
.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; }
|
@@ -487,11 +488,14 @@
|
|
487
488
|
.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; }
|
488
489
|
.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; }
|
489
490
|
.#{$fa-css-prefix}-ra:before,
|
491
|
+
.#{$fa-css-prefix}-resistance:before,
|
490
492
|
.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; }
|
491
493
|
.#{$fa-css-prefix}-ge:before,
|
492
494
|
.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; }
|
493
495
|
.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; }
|
494
496
|
.#{$fa-css-prefix}-git:before { content: $fa-var-git; }
|
497
|
+
.#{$fa-css-prefix}-y-combinator-square:before,
|
498
|
+
.#{$fa-css-prefix}-yc-square:before,
|
495
499
|
.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; }
|
496
500
|
.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; }
|
497
501
|
.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; }
|
@@ -502,7 +506,6 @@
|
|
502
506
|
.#{$fa-css-prefix}-send-o:before,
|
503
507
|
.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; }
|
504
508
|
.#{$fa-css-prefix}-history:before { content: $fa-var-history; }
|
505
|
-
.#{$fa-css-prefix}-genderless:before,
|
506
509
|
.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; }
|
507
510
|
.#{$fa-css-prefix}-header:before { content: $fa-var-header; }
|
508
511
|
.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; }
|
@@ -573,6 +576,7 @@
|
|
573
576
|
.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; }
|
574
577
|
.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; }
|
575
578
|
.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; }
|
579
|
+
.#{$fa-css-prefix}-intersex:before,
|
576
580
|
.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; }
|
577
581
|
.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; }
|
578
582
|
.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; }
|
@@ -582,6 +586,7 @@
|
|
582
586
|
.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; }
|
583
587
|
.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; }
|
584
588
|
.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; }
|
589
|
+
.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; }
|
585
590
|
.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; }
|
586
591
|
.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; }
|
587
592
|
.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; }
|
@@ -594,3 +599,135 @@
|
|
594
599
|
.#{$fa-css-prefix}-train:before { content: $fa-var-train; }
|
595
600
|
.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; }
|
596
601
|
.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; }
|
602
|
+
.#{$fa-css-prefix}-yc:before,
|
603
|
+
.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; }
|
604
|
+
.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; }
|
605
|
+
.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; }
|
606
|
+
.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; }
|
607
|
+
.#{$fa-css-prefix}-battery-4:before,
|
608
|
+
.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; }
|
609
|
+
.#{$fa-css-prefix}-battery-3:before,
|
610
|
+
.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; }
|
611
|
+
.#{$fa-css-prefix}-battery-2:before,
|
612
|
+
.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; }
|
613
|
+
.#{$fa-css-prefix}-battery-1:before,
|
614
|
+
.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; }
|
615
|
+
.#{$fa-css-prefix}-battery-0:before,
|
616
|
+
.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; }
|
617
|
+
.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; }
|
618
|
+
.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; }
|
619
|
+
.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; }
|
620
|
+
.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; }
|
621
|
+
.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; }
|
622
|
+
.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; }
|
623
|
+
.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; }
|
624
|
+
.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; }
|
625
|
+
.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; }
|
626
|
+
.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; }
|
627
|
+
.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; }
|
628
|
+
.#{$fa-css-prefix}-hourglass-1:before,
|
629
|
+
.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; }
|
630
|
+
.#{$fa-css-prefix}-hourglass-2:before,
|
631
|
+
.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; }
|
632
|
+
.#{$fa-css-prefix}-hourglass-3:before,
|
633
|
+
.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; }
|
634
|
+
.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; }
|
635
|
+
.#{$fa-css-prefix}-hand-grab-o:before,
|
636
|
+
.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; }
|
637
|
+
.#{$fa-css-prefix}-hand-stop-o:before,
|
638
|
+
.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; }
|
639
|
+
.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; }
|
640
|
+
.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; }
|
641
|
+
.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; }
|
642
|
+
.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; }
|
643
|
+
.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; }
|
644
|
+
.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; }
|
645
|
+
.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; }
|
646
|
+
.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; }
|
647
|
+
.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; }
|
648
|
+
.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; }
|
649
|
+
.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; }
|
650
|
+
.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; }
|
651
|
+
.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; }
|
652
|
+
.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; }
|
653
|
+
.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; }
|
654
|
+
.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; }
|
655
|
+
.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; }
|
656
|
+
.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; }
|
657
|
+
.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; }
|
658
|
+
.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; }
|
659
|
+
.#{$fa-css-prefix}-tv:before,
|
660
|
+
.#{$fa-css-prefix}-television:before { content: $fa-var-television; }
|
661
|
+
.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; }
|
662
|
+
.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; }
|
663
|
+
.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; }
|
664
|
+
.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; }
|
665
|
+
.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; }
|
666
|
+
.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; }
|
667
|
+
.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; }
|
668
|
+
.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; }
|
669
|
+
.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; }
|
670
|
+
.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; }
|
671
|
+
.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; }
|
672
|
+
.#{$fa-css-prefix}-map:before { content: $fa-var-map; }
|
673
|
+
.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; }
|
674
|
+
.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; }
|
675
|
+
.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; }
|
676
|
+
.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; }
|
677
|
+
.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; }
|
678
|
+
.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; }
|
679
|
+
.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; }
|
680
|
+
.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; }
|
681
|
+
.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; }
|
682
|
+
.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; }
|
683
|
+
.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; }
|
684
|
+
.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; }
|
685
|
+
.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; }
|
686
|
+
.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; }
|
687
|
+
.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; }
|
688
|
+
.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; }
|
689
|
+
.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; }
|
690
|
+
.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; }
|
691
|
+
.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; }
|
692
|
+
.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; }
|
693
|
+
.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; }
|
694
|
+
.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; }
|
695
|
+
.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; }
|
696
|
+
.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; }
|
697
|
+
.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; }
|
698
|
+
.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; }
|
699
|
+
.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; }
|
700
|
+
.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; }
|
701
|
+
.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; }
|
702
|
+
.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; }
|
703
|
+
.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; }
|
704
|
+
.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; }
|
705
|
+
.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; }
|
706
|
+
.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; }
|
707
|
+
.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; }
|
708
|
+
.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; }
|
709
|
+
.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; }
|
710
|
+
.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; }
|
711
|
+
.#{$fa-css-prefix}-asl-interpreting:before,
|
712
|
+
.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; }
|
713
|
+
.#{$fa-css-prefix}-deafness:before,
|
714
|
+
.#{$fa-css-prefix}-hard-of-hearing:before,
|
715
|
+
.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; }
|
716
|
+
.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; }
|
717
|
+
.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; }
|
718
|
+
.#{$fa-css-prefix}-signing:before,
|
719
|
+
.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; }
|
720
|
+
.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; }
|
721
|
+
.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; }
|
722
|
+
.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; }
|
723
|
+
.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; }
|
724
|
+
.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; }
|
725
|
+
.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; }
|
726
|
+
.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; }
|
727
|
+
.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; }
|
728
|
+
.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; }
|
729
|
+
.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; }
|
730
|
+
.#{$fa-css-prefix}-google-plus-circle:before,
|
731
|
+
.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; }
|
732
|
+
.#{$fa-css-prefix}-fa:before,
|
733
|
+
.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; }
|