lanes 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/client/lanes/Config.coffee +26 -9
  3. data/client/lanes/access/screens/user-management/UserManagement.cjsx +1 -1
  4. data/client/lanes/components/grid/EditingMixin.cjsx +8 -4
  5. data/client/lanes/components/grid/PopOverMixin.cjsx +7 -1
  6. data/client/lanes/components/modal/Modal.cjsx +11 -1
  7. data/client/lanes/components/record-finder/RecordFinder.cjsx +8 -4
  8. data/client/lanes/components/shared/DateTime.cjsx +8 -6
  9. data/client/lanes/components/shared/FieldMixin.cjsx +3 -3
  10. data/client/lanes/components/shared/Icon.cjsx +1 -1
  11. data/client/lanes/components/shared/ImageAsset.cjsx +23 -11
  12. data/client/lanes/components/shared/NetworkActivityOverlay.cjsx +2 -0
  13. data/client/lanes/extension/Base.coffee +2 -0
  14. data/client/lanes/fonts/fontawesome-webfont.woff +0 -0
  15. data/client/lanes/fonts/fontawesome-webfont.woff2 +0 -0
  16. data/client/lanes/lib/RequestAssets.coffee +30 -0
  17. data/client/lanes/lib/all.js +1 -0
  18. data/client/lanes/lib/loader.js +93 -0
  19. data/client/lanes/lib/utilFunctions.coffee +12 -0
  20. data/client/lanes/models/Asset.coffee +3 -4
  21. data/client/lanes/models/AssociationMap.coffee +17 -6
  22. data/client/lanes/models/Base.coffee +20 -13
  23. data/client/lanes/models/Collection.coffee +4 -1
  24. data/client/lanes/models/PubSub.coffee +2 -3
  25. data/client/lanes/models/SmtpSettings.coffee +7 -0
  26. data/client/lanes/models/Sync.coffee +2 -2
  27. data/client/lanes/react/Viewport.coffee +14 -10
  28. data/client/lanes/react/mixins/FieldErrors.coffee +3 -4
  29. data/client/lanes/react/mixins/ReadEditingState.coffee +1 -0
  30. data/client/lanes/remote/Bootstrap.coffee +85 -0
  31. data/client/lanes/remote/api.coffee +2 -1
  32. data/client/lanes/remote/onDocumentReady.coffee +12 -0
  33. data/client/lanes/screens/Definitions.coffee +29 -12
  34. data/client/lanes/screens/SystemSettings.cjsx +12 -3
  35. data/client/lanes/styles/fonts/_bordered-pulled.scss +9 -0
  36. data/client/lanes/styles/fonts/_core.scss +1 -2
  37. data/client/lanes/styles/fonts/_icons.scss +56 -0
  38. data/client/lanes/styles/fonts/_mixins.scss +37 -4
  39. data/client/lanes/styles/fonts/_path.scss +2 -2
  40. data/client/lanes/styles/fonts/_screen-reader.scss +5 -0
  41. data/client/lanes/styles/fonts/_variables.scss +58 -2
  42. data/client/lanes/styles/fonts/font-awesome.scss +3 -1
  43. data/client/lanes/vendor/development/calendar.js +56 -57
  44. data/client/lanes/vendor/development/commons.js +31319 -29618
  45. data/client/lanes/vendor/development/data.js +8468 -7607
  46. data/client/lanes/vendor/development/helpers.js +265 -131
  47. data/client/lanes/vendor/development/toggle.js +288 -184
  48. data/client/lanes/vendor/development/ui.js +3387 -3492
  49. data/client/lanes/vendor/development/widgets.js +972 -1229
  50. data/client/lanes/vendor/production/calendar.js +60 -61
  51. data/client/lanes/vendor/production/commons.js +30695 -29032
  52. data/client/lanes/vendor/production/data.js +8457 -7598
  53. data/client/lanes/vendor/production/toggle.js +288 -184
  54. data/client/lanes/vendor/production/ui.js +3264 -3373
  55. data/client/lanes/vendor/production/widgets.js +972 -1229
  56. data/client/lanes/vendor/standalone/index.js +21106 -18761
  57. data/client/lanes/vendor/styles/toggle.scss +4 -3
  58. data/client/lanes/workspace/ScreenView.cjsx +2 -2
  59. data/client/lanes/workspace/styles/header.scss +4 -0
  60. data/config/routes.rb +0 -2
  61. data/db/migrate/01_create_system_settings.rb +1 -1
  62. data/db/migrate/02_create_assets.rb +1 -1
  63. data/lanes.gemspec +1 -0
  64. data/lib/lanes.rb +1 -0
  65. data/lib/lanes/access/track_modifications.rb +4 -2
  66. data/lib/lanes/api.rb +1 -0
  67. data/lib/lanes/api/cable.rb +11 -3
  68. data/lib/lanes/api/controller_base.rb +23 -19
  69. data/lib/lanes/api/default_routes.rb +9 -1
  70. data/lib/lanes/api/generic_controller.rb +1 -1
  71. data/lib/lanes/api/handlers/asset.rb +2 -3
  72. data/lib/lanes/api/helper_methods.rb +5 -11
  73. data/lib/lanes/api/pub_sub.rb +13 -7
  74. data/lib/lanes/api/request_wrapper.rb +1 -1
  75. data/lib/lanes/api/routing.rb +10 -7
  76. data/lib/lanes/api/to_json.rb +7 -0
  77. data/lib/lanes/asset.rb +4 -1
  78. data/lib/lanes/concerns/set_attribute_data.rb +2 -1
  79. data/lib/lanes/extension.rb +3 -1
  80. data/lib/lanes/mailer.rb +40 -0
  81. data/lib/lanes/rake_tasks.rb +4 -0
  82. data/lib/lanes/spec_helper.rb +11 -3
  83. data/lib/lanes/system_settings.rb +22 -9
  84. data/lib/lanes/version.rb +1 -1
  85. data/lib/lanes/workspace/extension.rb +5 -0
  86. data/npm-build/package.json +2 -2
  87. data/npm-build/react-toggle.js +1 -1
  88. data/npm-build/standalone.js +3 -0
  89. data/spec/command-reference-files/initial/Gemfile +1 -1
  90. data/spec/command-reference-files/initial/client/appy-app/Extension.coffee +2 -1
  91. data/spec/command-reference-files/model/db/migrate/20150218032025_create_test_tests.rb +1 -1
  92. data/spec/command-reference-files/screen/client/appy-app/Extension.coffee +2 -1
  93. data/spec/fixtures/system_settings.yml +8 -1
  94. data/spec/server/mailer_spec.rb +33 -0
  95. data/spec/server/system_settings_spec.rb +16 -0
  96. data/templates/client/Extension.coffee +2 -1
  97. data/templates/config/database.yml +1 -1
  98. data/templates/db/create_table_migration.rb +1 -1
  99. metadata +27 -6
  100. data/client/fonts/fontawesome-webfont.woff +0 -0
  101. data/client/fonts/fontawesome-webfont.woff2 +0 -0
  102. data/client/lanes/lib/loader.coffee +0 -100
  103. data/client/lanes/workspace/Modal.cjsx +0 -47
@@ -1,6 +1,16 @@
1
1
  module Lanes
2
2
  module API
3
3
 
4
+ def self.set_root_view(view)
5
+ API::Root.get Lanes.config.mounted_at + '?*' do
6
+ if request.accept? 'text/html'
7
+ erb :lanes_root_view
8
+ else
9
+ pass
10
+ end
11
+ end
12
+ end
13
+
4
14
  class RoutingBlock
5
15
  def initialize(ext_id)
6
16
  Lanes::Extensions.for_identifier(ext_id) ||
@@ -8,13 +18,6 @@ module Lanes
8
18
  @ext_id = ext_id
9
19
  end
10
20
 
11
- def root_view( view )
12
- API::Root.get Lanes.config.mounted_at + '?*' do
13
- pass unless request.accept? 'text/html'
14
- erb view
15
- end
16
- end
17
-
18
21
  [:get, :post, :put, :patch, :delete].each do | method_name |
19
22
  define_method(method_name) do | path_suffix, options = {}, &block |
20
23
  API::Root.send(method_name, make_path(path_suffix), options, &block)
@@ -0,0 +1,7 @@
1
+ require 'oj'
2
+
3
+ module Lanes::API
4
+ def self.to_json(data)
5
+ Oj.dump(data, mode: :compat, time_format: :xmlschema)
6
+ end
7
+ end
@@ -6,8 +6,11 @@ module Lanes
6
6
 
7
7
  belongs_to :owner, polymorphic: true
8
8
 
9
- validates :owner, set: true
9
+ validates :owner_id, :owner_type, presence: true
10
10
 
11
+ def present?
12
+ super && file.present?
13
+ end
11
14
  end
12
15
 
13
16
  end
@@ -2,6 +2,7 @@ module Lanes::Concerns
2
2
 
3
3
  module ApiAttributeAccess
4
4
 
5
+ DEFAULT_BLACKLISTED = {}
5
6
 
6
7
  extend ActiveSupport::Concern
7
8
 
@@ -42,7 +43,7 @@ module Lanes::Concerns
42
43
  # @param attributes [Array of symbols] attributes that are not safe for the API to set
43
44
  def blacklist_attributes( *attributes )
44
45
  options = attributes.extract_options!
45
- self.blacklisted_attributes ||= {}
46
+ self.blacklisted_attributes ||= DEFAULT_BLACKLISTED.clone
46
47
  attributes.each{|attr| self.blacklisted_attributes[ attr.to_sym ] = options }
47
48
  end
48
49
 
@@ -97,7 +97,9 @@ module Lanes
97
97
  root_view: Lanes.config.root_view,
98
98
  csrf_token: view.session[:csrf],
99
99
  environment: Lanes.config.environment,
100
- system_settings: Lanes::SystemSettings.config.as_json(include: 'logo'),
100
+ system_settings: Lanes::SystemSettings.config.as_json(
101
+ include: ['logo', 'print_logo']
102
+ ),
101
103
  assets_path_prefix: Lanes.config.assets_path_prefix,
102
104
  controlling_extension: controlling.identifier,
103
105
  initial_workspace_screen_id: Lanes.config.initial_workspace_screen_id
@@ -0,0 +1,40 @@
1
+ require 'mail'
2
+ module Lanes
3
+
4
+ module Mailer
5
+ @@configured = false
6
+
7
+ def self.set_defaults(settings = SystemSettings.for_ext(:lanes))
8
+ smtp = settings['smtp'] || {}
9
+ method = Lanes.env.production? ? :smtp : :test
10
+ Mail.defaults do
11
+ delivery_method(method, {
12
+ user_name: smtp['login'],
13
+ password: smtp['password'],
14
+ address: smtp['server']
15
+ })
16
+
17
+ end
18
+ @@configured = true
19
+ end
20
+
21
+ Lanes::SystemSettings.on_change(:lanes, call_now: true) do |settings|
22
+ self.set_defaults(settings)
23
+ end
24
+
25
+ def self.create(args = {}, &block)
26
+ args[:from] = SystemSettings.for_ext(:lanes).dig('smtp', 'from')
27
+ set_defaults unless @@configured
28
+ Mail::Message.new(args, &block)
29
+ end
30
+
31
+ def self.deliver(args = {}, &block)
32
+ args[:from] = SystemSettings.for_ext(:lanes).dig('smtp', 'from')
33
+ set_defaults unless @@configured
34
+ mail = self.new(args, &block)
35
+ mail.deliver
36
+ mail
37
+ end
38
+ end
39
+
40
+ end
@@ -41,6 +41,10 @@ namespace :db do
41
41
  task :environment do
42
42
  Lanes::DB.configure_rake_environment
43
43
  end
44
+ task :load_lanes_config do
45
+ Lanes::DB.configure_rake_environment
46
+ end
47
+ task(:load_config).clear.enhance([:load_lanes_config])
44
48
  end
45
49
 
46
50
  namespace :assets do
@@ -74,13 +74,21 @@ module Lanes
74
74
  json_body['data']
75
75
  end
76
76
 
77
- [ :get, :put, :post, :delete, :patch].each do |name|
77
+ [ :delete, :get ].each do |name|
78
+ define_method(name) do |uri, params = {}, env = {}, &block|
79
+ session = env['rack.session'] ||= {}
80
+ session[:user_id] = @current_user.id if @current_user
81
+ params.stringify_keys!
82
+ super(uri, params, env, &block)
83
+ end
84
+ end
85
+
86
+ [ :put, :post, :patch].each do |name|
78
87
  define_method(name) do |uri, params = {}, env = {}, &block|
79
88
  session = env['rack.session'] ||= {}
80
- env[Rack::Csrf.rackified_header] = Rack::Csrf.token(env)
81
89
  session[:user_id] = @current_user.id if @current_user
82
90
  params = Oj.dump(params, mode: :compat) if params.is_a?(Hash)
83
- super(uri,params,env,&block)
91
+ super(uri, params, env, &block)
84
92
  end
85
93
  end
86
94
 
@@ -2,7 +2,13 @@ module Lanes
2
2
 
3
3
  class SystemSettings < Lanes::Model
4
4
 
5
- has_one :logo, as: :owner, :class_name=>'Lanes::Asset', :dependent => :destroy
5
+ has_one :logo, as: :owner, class_name: 'Lanes::Asset',
6
+ dependent: :destroy
7
+
8
+ has_one :print_logo, -> { where owner_type: "SecondaryPhoto"},
9
+ class_name: 'Lanes::Asset', foreign_key: :owner_id,
10
+ foreign_type: :owner_type,
11
+ dependent: :destroy
6
12
 
7
13
  class ExtensionSettings < OpenStruct
8
14
  def initialize(ext_id, settings)
@@ -35,7 +41,7 @@ module Lanes
35
41
  end
36
42
 
37
43
  def for_ext(extension_id)
38
- ExtensionSettings.new(extension_id, config.settings[extension_id])
44
+ ExtensionSettings.new(extension_id, config.settings[extension_id.to_s])
39
45
  end
40
46
 
41
47
  def persist!(extension_id, update)
@@ -60,17 +66,24 @@ module Lanes
60
66
  Lanes.logger.debug "SystemSettings cache reset"
61
67
  Lanes::SystemSettings.instance_variable_set(:@config, nil)
62
68
  end
63
- end
64
69
 
65
- Thread.new do
66
- Lanes.redis_connection(cache:false).subscribe(
67
- 'lanes-system-configuration-update') do |on|
68
- on.message do |channel, msg|
69
- ActiveRecord::Base.connection_pool.with_connection do
70
- Lanes::SystemSettings.clear_cache!(msg)
70
+ def on_change(extension_id, call_now: false, &block)
71
+ Thread.new do
72
+ Lanes.redis_connection(cache:false).subscribe(
73
+ 'lanes-system-configuration-update') do |on|
74
+ on.message do |channel, msg|
75
+ ActiveRecord::Base.connection_pool.with_connection do
76
+ yield SystemSettings.for_ext(extension_id)
77
+ end
78
+ end
71
79
  end
72
80
  end
73
81
  end
82
+
83
+ end
84
+
85
+ SystemSettings.on_change(:lanes) do
86
+ Lanes::SystemSettings.clear_cache!(msg)
74
87
  end
75
88
 
76
89
  end
@@ -1,5 +1,5 @@
1
1
  module Lanes
2
2
 
3
- VERSION = "0.6.1"
3
+ VERSION = "0.7.0"
4
4
 
5
5
  end
@@ -23,6 +23,11 @@ module Lanes
23
23
  []
24
24
  end
25
25
 
26
+ def each_static_asset
27
+ super{ | entry | yield entry }
28
+ [ 'lanes/fonts/fontawesome-webfont.woff',
29
+ 'lanes/fonts/fontawesome-webfont.woff2' ].each { | asset | yield asset }
30
+ end
26
31
  end
27
32
 
28
33
  end
@@ -32,8 +32,8 @@
32
32
  "react-deep-force-update": "^2.0.1",
33
33
  "react-dom": "^15.2",
34
34
  "react-list": "^0.7.20",
35
- "react-lite": "0.15.14",
36
- "react-model-binding": "0.4.0",
35
+ "react-lite": "0.15.29",
36
+ "react-model-binding": "0.4.1",
37
37
  "react-proxy": "^2.0.8",
38
38
  "react-toggle": "^2.1.1",
39
39
  "react-widgets": "^3.4.3",
@@ -1,5 +1,5 @@
1
1
  var Lanes = ( global.Lanes || (global.Lanes = {}) );
2
2
  Lanes.Vendor = ( Lanes.Vendor || {} );
3
3
 
4
- Lanes.Vendor.ReactToggle = require('react-toggle')
4
+ Lanes.Vendor.ReactToggle = require('react-toggle').default;
5
5
  require("react-toggle/style.css");
@@ -1,4 +1,7 @@
1
1
  require("./data");
2
2
 
3
+ // Lanes.Vendor.React = require("react");
4
+ // Lanes.Vendor.ReactDOM = require("react-dom");
5
+
3
6
  Lanes.Vendor.React = require("react-lite");
4
7
  Lanes.Vendor.ReactDOM = require("react-lite");
@@ -3,7 +3,7 @@ source 'https://rubygems.org'
3
3
  # For development while Lanes is evolving track master branch
4
4
  gem "lanes", github: 'argosity/lanes', branch: 'master'
5
5
 
6
- # gem "lanes", '0.5.6'
6
+ # gem "lanes", '0.6.1'
7
7
 
8
8
  gem "rake"
9
9
  gem 'puma'
@@ -14,7 +14,8 @@ class AppyApp.Extension extends Lanes.Extensions.Base
14
14
 
15
15
  # Data that is provided by AppyApp::Extension#client_bootstrap_data
16
16
  # in lib/appy-app/extension.rb is passed to this method
17
- setBootstrapData: Lanes.emptyFn
17
+ # the Base class will simply store the provided data as @data
18
+ setBootstrapData: -> super
18
19
 
19
20
  # All extenensions have been given their data and Lanes has completed startup
20
21
  onAvailable: Lanes.emptyFn
@@ -1,4 +1,4 @@
1
- class CreateTestTests < ActiveRecord::Migration
1
+ class CreateTestTests < ActiveRecord::Migration[5.0]
2
2
  def change
3
3
  create_table :test_tests do |t|
4
4
  t.string :name
@@ -16,7 +16,8 @@ class AppyApp.Extension extends Lanes.Extensions.Base
16
16
 
17
17
  # Data that is provided by AppyApp::Extension#client_bootstrap_data
18
18
  # in lib/appy-app/extension.rb is passed to this method
19
- setBootstrapData: Lanes.emptyFn
19
+ # the Base class will simply store the provided data as @data
20
+ setBootstrapData: -> super
20
21
 
21
22
  # All extenensions have been given their data and Lanes has completed startup
22
23
  onAvailable: Lanes.emptyFn
@@ -1 +1,8 @@
1
-
1
+ default:
2
+ id: 1
3
+ settings:
4
+ lanes:
5
+ smtp:
6
+ server: test.test.test
7
+ login: 'test'
8
+ password: 'test'
@@ -0,0 +1,33 @@
1
+ require_relative "spec_helper"
2
+
3
+ describe Lanes::Mailer do
4
+
5
+ before do
6
+ # needed because otherwise the rollback will leave configs without a db record
7
+ Lanes::SystemSettings.instance_variable_set(:@config, nil)
8
+ settings = Lanes::SystemSettings.for_ext('lanes')
9
+ settings.smtp = {
10
+ 'server' => 'foo.test.com'
11
+ }
12
+ settings.persist!
13
+ end
14
+
15
+ def test_it_configures_itself
16
+ # calling new forces a config
17
+ Lanes::Mailer.new
18
+ assert_equal 'foo.test.com',
19
+ Mail::Configuration.instance.delivery_method.settings[:address]
20
+
21
+ end
22
+
23
+ def test_sending_an_email
24
+ Lanes::Mailer.deliver do
25
+ to 'test@test.com'
26
+ from 'you@you.com'
27
+ subject 'testing'
28
+ body 'hello'
29
+ end
30
+ assert_equal(1, Mail::TestMailer.deliveries.length)
31
+ end
32
+
33
+ end
@@ -20,4 +20,20 @@ describe Lanes::SystemSettings do
20
20
  assert_equal({foo: 'bar'}, Lanes::SystemSettings.for_ext('foo').to_h)
21
21
  end
22
22
 
23
+ def test_logos
24
+ settings = Lanes::SystemSettings.new
25
+ Tempfile.open do |tf1|
26
+ tf1.write fixtures_path.join('logo.png').read
27
+ tf1.rewind
28
+ Tempfile.open do |tf2|
29
+ tf2.write fixtures_path.join('logo.png').read
30
+ tf2.rewind
31
+
32
+ settings.build_logo(file: tf1)
33
+ settings.build_print_logo(file: tf2)
34
+ assert_saves settings
35
+ end
36
+ end
37
+ end
38
+
23
39
  end
@@ -14,7 +14,8 @@ class <%= namespace %>.Extension extends Lanes.Extensions.Base
14
14
 
15
15
  # Data that is provided by <%= namespace %>::Extension#client_bootstrap_data
16
16
  # in lib/<%= identifier %>/extension.rb is passed to this method
17
- setBootstrapData: Lanes.emptyFn
17
+ # the Base class will simply store the provided data as @data
18
+ setBootstrapData: -> super
18
19
 
19
20
  # All extenensions have been given their data and Lanes has completed startup
20
21
  onAvailable: Lanes.emptyFn
@@ -2,7 +2,7 @@ development:
2
2
  adapter: postgresql
3
3
  database: <%= name %>_dev
4
4
  host: /tmp
5
- pool: <%= ENV["DB_POOL"] || 12 %>
5
+ pool: <%%= ENV["DB_POOL"] || 12 %>
6
6
 
7
7
  test:
8
8
  adapter: postgresql
@@ -1,4 +1,4 @@
1
- class Create<%= class_name.pluralize %> < ActiveRecord::Migration
1
+ class Create<%= class_name.pluralize %> < ActiveRecord::Migration[5.0]
2
2
  def change
3
3
  create_table :<%= table_name %> do |t|
4
4
  <% fields.each do |attribute| -%>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lanes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Stitt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-04 00:00:00.000000000 Z
11
+ date: 2017-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activejob
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '5.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: mail
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.6'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.6'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: sinatra
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -589,8 +603,6 @@ files:
589
603
  - README.md
590
604
  - Rakefile
591
605
  - bin/lanes
592
- - client/fonts/fontawesome-webfont.woff
593
- - client/fonts/fontawesome-webfont.woff2
594
606
  - client/images/lanes/ajax-loader.gif
595
607
  - client/images/lanes/logo-sm.png
596
608
  - client/lanes/Boot.cjsx
@@ -689,11 +701,14 @@ files:
689
701
  - client/lanes/extension/LateLoaded.js.erb
690
702
  - client/lanes/extension/index.js
691
703
  - client/lanes/extension/namespace-available.js.erb
704
+ - client/lanes/fonts/fontawesome-webfont.woff
705
+ - client/lanes/fonts/fontawesome-webfont.woff2
692
706
  - client/lanes/index.js
693
707
  - client/lanes/index.scss.erb
694
708
  - client/lanes/lib/HotReload.coffee
695
709
  - client/lanes/lib/MakeBaseClass.coffee
696
710
  - client/lanes/lib/ModuleSupport.coffee
711
+ - client/lanes/lib/RequestAssets.coffee
697
712
  - client/lanes/lib/ResizeSensor.js
698
713
  - client/lanes/lib/all.js
699
714
  - client/lanes/lib/development.coffee
@@ -701,7 +716,7 @@ files:
701
716
  - client/lanes/lib/el.coffee
702
717
  - client/lanes/lib/format.coffee
703
718
  - client/lanes/lib/index.js.erb
704
- - client/lanes/lib/loader.coffee
719
+ - client/lanes/lib/loader.js
705
720
  - client/lanes/lib/namespace.coffee
706
721
  - client/lanes/lib/objToParam.coffee
707
722
  - client/lanes/lib/polyfills.coffee
@@ -721,6 +736,7 @@ files:
721
736
  - client/lanes/models/PubSub.coffee
722
737
  - client/lanes/models/Query.coffee
723
738
  - client/lanes/models/ServerCache.coffee
739
+ - client/lanes/models/SmtpSettings.coffee
724
740
  - client/lanes/models/State.coffee
725
741
  - client/lanes/models/Sync.coffee
726
742
  - client/lanes/models/User.coffee
@@ -754,7 +770,9 @@ files:
754
770
  - client/lanes/react/mixins/Screen.coffee
755
771
  - client/lanes/react/mixins/Viewport.coffee
756
772
  - client/lanes/remote/BaseClasses.coffee
773
+ - client/lanes/remote/Bootstrap.coffee
757
774
  - client/lanes/remote/api.coffee
775
+ - client/lanes/remote/onDocumentReady.coffee
758
776
  - client/lanes/screens/ChangeListener.coffee
759
777
  - client/lanes/screens/Commands.coffee
760
778
  - client/lanes/screens/CommonComponents.cjsx
@@ -849,6 +867,7 @@ files:
849
867
  - client/lanes/styles/fonts/_mixins.scss
850
868
  - client/lanes/styles/fonts/_path.scss
851
869
  - client/lanes/styles/fonts/_rotated-flipped.scss
870
+ - client/lanes/styles/fonts/_screen-reader.scss
852
871
  - client/lanes/styles/fonts/_stacked.scss
853
872
  - client/lanes/styles/fonts/_variables.scss
854
873
  - client/lanes/styles/fonts/font-awesome.scss
@@ -896,7 +915,6 @@ files:
896
915
  - client/lanes/workspace/Extension.coffee
897
916
  - client/lanes/workspace/FirstRun.cjsx
898
917
  - client/lanes/workspace/Layout.cjsx
899
- - client/lanes/workspace/Modal.cjsx
900
918
  - client/lanes/workspace/Navbar.cjsx
901
919
  - client/lanes/workspace/ScreenView.cjsx
902
920
  - client/lanes/workspace/ScreensMenu.cjsx
@@ -961,6 +979,7 @@ files:
961
979
  - lib/lanes/api/routing.rb
962
980
  - lib/lanes/api/sprockets_extension.rb
963
981
  - lib/lanes/api/test_specs.rb
982
+ - lib/lanes/api/to_json.rb
964
983
  - lib/lanes/api/updates.rb
965
984
  - lib/lanes/asset.rb
966
985
  - lib/lanes/capistrano.rb
@@ -1015,6 +1034,7 @@ files:
1015
1034
  - lib/lanes/job.rb
1016
1035
  - lib/lanes/job/failure_logger.rb
1017
1036
  - lib/lanes/logger.rb
1037
+ - lib/lanes/mailer.rb
1018
1038
  - lib/lanes/model.rb
1019
1039
  - lib/lanes/numbers.rb
1020
1040
  - lib/lanes/rails_engine.rb
@@ -1133,6 +1153,7 @@ files:
1133
1153
  - spec/server/concerns/sorting_expressions_spec.rb
1134
1154
  - spec/server/configuration_spec.rb
1135
1155
  - spec/server/job_spec.rb
1156
+ - spec/server/mailer_spec.rb
1136
1157
  - spec/server/minitest_assertions.rb
1137
1158
  - spec/server/numbers_spec.rb
1138
1159
  - spec/server/spec_helper.rb