-
Notifications
You must be signed in to change notification settings - Fork 11
/
CHANGELOG
294 lines (253 loc) · 15.2 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
0.7.3:
- Models being loaded by the FormView will now call
beforeFormLoad methods if they exist on those models
0.8.1
- Adds many style fixes for GridView
- Fixes style conflicts for Bootstrap grid-* css selectors
- Adds getForm() and getModel() methods to Luca.Field classes that belong to a form
0.8.2
- Adds checkbox group field component ( thanks nick desteffen )
0.8.3
- Stop mixing in underscore.string onto the global underscore object
- the ctype property used to create objects from hashes, can now be named 'type'
- Adds Luca.util.classify function for converting strings into class names
0.8.4
- Fixes bug in development console
- Colorizes Development Console
- Introduces Luca.template helper to find template by regex in Luca.templates
or window.JST. Optionally compiling the template if you pass variables to it.
- Introduces Luca.View.applyStyles which delegates to @$el.css
0.8.5
- Luca.define() can be used to extend components, and retain references
to the inheritance chain. Components defined this way will have
_className attributes as well as _superClass() references. This
allows for introspection of components as well as advanced
querying of the Luca Component Cache
_ Added _.def as an alias to Luca.define
- All Luca components have been migrated over to the new Luca.define() API
0.8.6
- Luca.ModalView has been refactored to use Twitter Bootstrap Modal
- Luca.Application now has keyEvents API for handling keypress
events and delegating them properly
- Luca.containers.CardView has been refactored to be more inline with base container
- Luca.View gets $append, $html, $container jQuery helpers. shortcut for @renderToEl().append, etc
- Luca.View gets @bodyTagName, @bodyTemplate properties.
- @bodyTemplate references a JST template which automatically gets added
via $html if present, immediately when the view is rendered
- @bodyTagName is where $append, $html will insert content, otherwise defaults to @$el
- Luca.View has $bodyEl() method which points to $(@bodyTagName) or $(@el) ( default )
0.8.7
- Luca.core.Container now uses bodyTemplate to render
- Luca.Collection.cached property is now deprecated. use @cache_key instead
- introducing Luca.Collection.cachedMethods property. any method on the
collection which is listed here, will have its return value memoized upon
first being called. Whenever the collection is reset or changed, this
value will be cleared, and then the next call will be cached, and so on
0.8.8
- Added development mode helpers to Luca.View to aid in browser editing
- Added configuration for @deferrable rendering system for Luca.View
- Added isComponent and supportsBackboneEvents helpers
- Added componentEvents configuration sugar to Luca.core.Container classes
@componentEvents allows for a container to bind to events on its children
- major work on component tester
- the development console component now extends from Luca.core.Panel instead of the ModalView
- Added _super() method which accepts a method name, context, and arguments array
and is the equivalent to applying the component you extend from prototype method
with @, arguments
- Added component.once, as an alias for binding to an event and firing a callback one time
- Added component.defer(operation).until(object,trigger) as wrapper around .once binding.
operation can be a string, or a function, and the call to until accepts an object and
the name of a trigger to listen for on that object. if you just pass a trigger, object is implicitly the component
- Luca() is now a global helper for finding views, querying the cache, lazily creating objects, etc. smart enough
to know what you want from it based on the input
- window.Luca now mixes in Backbone.Events and Luca.Events. triggers events whenever components are registered or created
0.8.9
- Refactored Panel View to incorporate Load Mask and Top and Bottom Toolbar
- Refactored GridView and FormView to inherit from Luca.components.Panel
- Added @additionalClassNames property to Luca.View.
- GridView and FormView can not have an automatic load mask effect based on Twitter's progress bar.
Simply trigger enable:loadmask and disable:loadmask on any view where loadMask is set to true
0.9.0
- Introducing Luca.components.CollectionView
0.9.1
- Bugfix Release
0.9.2
- FormView has errorMessage, successMessage methods which use twitter bootstrap alerts as flash message
- FormView toolbar accepts new options: true, both, bottom, or top
- Luca.Collection has a property @remoteFiltering which makes applyFilter always use remote fetch
- Bugfix in GridView collection change handler
- Added Luca.isViewPrototype, Luca.isModelPrototype, Luca.isCollectionPrototype helpers
- Added configuration option to control auto registration of components with the registry
- Added Luca.parentClass and Luca.inheritanceChain methods for inspecting a component or prototype
- Changed single instance tracking mechanism on CollectionManager. Will throw an error if more than one
is created without specifying a name.
- Added Luca.getCollectionManager() helper as an Alias for Luca.CollectionManager.get()
- Luca.getApplication() and Luca.getCollectionManager() accept a name argument
- Classes like Luca.Application and Luca.CollectionManager which normally are singletons
can have more than one instance if a unique name is given
0.9.3
- CardViews and Controllers set data attributes on their elements for the active card / page
- Added convenience methods to container 'pluck', 'invoke'
- Added methods to Controller for ease of autogenerating routes
- Added beforeInitialize hook on Luca.View
- Luca.View can now automatically configure state machine models by passing `stateful:true`
in your view definition.
- Containers will respond to getter attributes set on their components, by defining a getter
on the container
0.9.31
- lazyComponent type property now goes through a map to allow for aliasing
- add ability to customize container / component render method by overriding Luca.core.Container.componentRenderer
- rename appendContainers property to generateComponentElements
- adding a Luca.PageView component as an alias for CardView
- adding a Luca.PageController component as an alias for Controller
0.9.33
- added gridSpan property to Luca.View. This will automatically add the span class for you to snap your view to the grid.
Accepts a number 0-12.
- fixed a bug in CardView.componentElements method with bodyClassName being present
- Added LabelView component. A form field which just displays a value.
0.9.35
- fixes bug in FormView.getFields() when passing in a filter. getField by name falls back to input name check if name check fails.
- fixes checkbox method for checking if underlying component is checked or not
- adds valueType option to core field object. allows for typecasting on getValue function
- change behavior on enableKeyEvents on text field
- added Luca.util.launchers for Development Tools usage
- added gridRow and gridRowFluid option to luca views to add row classes
- added gridOffset to add grid offset bootstrap classes
0.9.4
- Luca::Template can now configure its namespace, removing duplicate sprockets class
- Luca.Application triggers page:change and sub:page:change events
- Luca.Viewport gets enable / disable method for fluid and fullscreen mode
- Add configurability to fullscreen behavior on viewport
0.9.41
- Changed asset pipeline payload so that luca-ui uses the index convention
0.9.42
- Added TableView component, which inherits from Luca.components.CollectionView
- Expose ways of customizing Luca.View internals.
- Added support for @template property on Luca.View. Behaves the same as @bodyTemplate
0.9.45
- Luca.decorate( componentPrototype ).with( mixinName ), Luca.mixin( mixinName )
- View mixins use _initializer methods
- FilterableView mixin for CollectionView classes
- Added Rails Generator for Luca.Application skeleton. ( thanks @nick-desteffen )
- Adds ability to pass a function reference as a component. The container will call the function, in
the context of the container, and use the returned object as the component definition template
- Adds a defaults property to containers. This will apply the values as defaults to each component.
- Adds Luca.EventsExt an optional core extension which provides additional event binding sugar
- Fixes to CollectionView
- Improved container / component bindings via html data attributes
- bugfixes in CardView
0.9.5
- Luca.Model gets a 'read' method which will a getter function,
or get an attribute for the given property you are trying to 'read'
- CollectionView is modifiable through several mixins:
- Filterable
- Paginatable
- Loadmaskable
- Introduces component definition helpers: extends,
behavesAs, triggers, defaultsTo which allow for a more
"literate" component definiton style
- View helpers moved into mixins:
- StateModel
- EnhancedProperties
- CollectionEventBindings
- ApplicationEventBindings
- Changed syntax for @componentEvents configuration on Luca.core.Container.
- now accepts role, name, or getter method
- now accepts * for component, to bind to the same event on all components
0.9.65
- Luca.core.Container components can now be configured with a @container property
which accepts any valid CSS selector so long as it is scoped within that container view's @$el.
Previously required an element with a specific ID which made it harder to build extendable components
with specific render targets
0.9.66
- Luca.core.Container components can now be extended by subclasses by specifying an @extensions property.
@extensions work by applying the hash to the component in the same index'd position as that component
configuration in the superclass.
- Luca.components.CollectionView now has a @loadModels() method which resets the collection with the passed models.
- Added @componentMetaData() method which is going to replace the trickery done behind the scenes in Luca.extend
- Luca.config.autoApplyCssClassHierarchy if set to true, will add css class names to your luca components to make inheritance based styling easier.
0.9.7
- Introduced publicInterface, publicConfiguration, privateInterface, and privateConfiguration as component registry methods.
These methods are intended to offer finer grain control over the component definition process for the purposes of building
our auto-generated documentation tool.
- Added Luca.concern support on Collection and Model
- Renaming 'mixin' and 'module' functionality to 'concern'
- Luca.concerns now follow the active support concern in spirit, with __included hooks, ClassMethods handling, etc
- Introducing an optional Concern for Luca.Model classes, called ModelPresenter.
- The callback argument passed to CardView activate, now gets called in the context of the activated component
0.9.75
- Component registration is now beautifully readable and self documenting,
and flexible. Minimally only requires one call to Luca.register().
This allows you to be as descriptive as you like when defining a component,
and does not require you to call any definition methods which do not
make literary sense in your component description.
- Component definition now supports specifying class methods.
- Luca.initialize('Namespace') will setup a complete namespace for
your application, and give you a Namespace() method which works similar
to the Luca() helper.
- Added Luca.config.modelBootrstrap and Luca.config.baseParams as pointers
to either properties, or methods, which can be used to configure Luca.Collection behavior
- Luca.onReady is now the preferred way of launching the application.
- Added Luca.Application.routeTo, Luca.Application.controller
route building helpers
0.9.78
- Added experimental ability to integrate router into the application itself, via the @routes property
- Temporary fix for double rendering bug in containers which had css class based assignments on their containers.
- Added experimental support for Luca.SocketManager
- Introducing @stateChangeEvents property for views which mixin the StateModel concern.
- Added additional ComponentDefinition methods: public, private, configuration, methods
- Component MetaData tracks descendants()
- SelectField defaults to valueType integer when valueField is "id"
0.9.8
- Luca follows Sprockets / Asset Pipeline Conventions
- Renamed
- Luca.core.Container to Luca.Container
- Luca.components.Panel to Luca.Panel
- Added Sortable Concern
- Added Luca.log()
- Added ability to create aliases / deprecations of components with warning messages
0.9.81
- Added support for HoganAssets via hogan.js and HoganAssets gem by Les Hill
- Renamed Luca.components.CollectionView to Luca.CollectionView. Moved CollectionView to core.
- beforeSubmit, and beforeReset on formView can return false to stop the action
- Added scrollable table component to replace ugly ass GridView
0.9.83
- Added sortOptionsBy property to select field. Expects an attribute to sort by.
- firstActivation event will be queue'd until after:render has been fired
- setting @rendered = true on views
- adding event on controller activation
- Bugfix on CollectionView refresh method
0.9.84
- Added Luca::Collection::Endpoint to provide cheap throwaway persistence
0.9.85
- Documentation / Comments parser and generator.
- Luca.config.developmentMode revamp.
- Added experimental Guard::Luca which uses Faye to send asset changes to the running Luca.Application()
- Added Luca.CodeSyncManager which keeps css, templates, and component definitions in sync as you change them on the file system.
- Better refreshing of instantiated components with updated prototype code via CodeSyncManager
- Integrated Luca.FormView improvements from @grilix
0.9.86
- Introducing GridLayoutView component which is a CollectionView which uses bootstraps row and spans to form an even grid.
- Introducing SimpleCollectionView which is a CollectionView without any mixins applied
0.9.87
- Adds support for keymaster.js for keybinding config. Thanks @madrobby.
- Adds ability for the Application, and components which belong sto Luca.components.Controller to define their own global keybindings
- Luca::ComponentDefinition renders comments as MarkDown
- Adds Luca.util.setupKeyBindings helper for views to instrument their own keybindings / scopes
0.9.88
- Fixed a bug in StateModel concern
- Luca.View which define an @_inheritEvents property on their prototypes will have
that event configuration persist into @events of views which extend from them
0.9.9
- Added luca executable which includes:
- documentation generator
- sync command for running Luca.CodeSyncManager in development
- Removes some unused components
- API changes for Luca.components.Controller
- Removing rails dependencies
- Middleman site for documentation and examples
- Improving documentation for core components
0.9.91
- Removed code mirror from development file
- Updated defaults for code sync
- Updated Luca.util.loadScript for browser compatability