-
Notifications
You must be signed in to change notification settings - Fork 354
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update contributing guidelines #242
Conversation
I think these guidelines show to users when they're making a pull request (I don't see them, but I assume it's only shown to people who don't have write perms to the repo). I think it's worth considering pairing them down a bit so that our specifics are more clearly identified. |
LGTM! Are you suggesting we should trim down the file now? What you've added is great clarification. |
I was just thinking that it might make the differences between our contrib policy and a "boilerplate" one more clear. It's a separate concern though, and the document is fine as is; I'll go ahead and merge this and make a simultaneous PR for charts/widgets |
Add details on CoffeeScript development and compilation to the contribution guidelines. Closes #242
ed64ca9
to
1432b01
Compare
* Add multiselect functionality * Fix multiselect bugs Make selection contain the contents of rows, rather than the row objects themselves, and make a new Ember.Set for each EmberTableComponent Closes Addepar#192 * Compile dist files * Fix another multiselect bug * Improvements to docs pages * Add community examples page * Clean up dependencies list * Remove some unhelpful descriptions * Reorganize pages * Add migration guides page * Fix sidebar covering footer * Publish new gh-pages with every release * Updates the gh_pages folder so it can stand alone * Use release-it to push to gh-pages on every release Other small tweaks: * Use grunt-release-it as a wrapper for release-it * Move bower dependencies to vendor/ folder * Fix typo so we publish to correct gh-pages repo * Store row objects in _selection rather than their contents * Check that selection is not null * Resolve Ember CLI style view references. * fix state deprecation, add quotes to colum header sort action name * Check against both undefined and null instead of just undefined * Dasherize stylename for output * Release 0.2.2 * Clean up comments, adding inputs/output docs * Only code change is refactoring src/row.coffee to its own file * Remove old comment style which doesn't have any content * Organize inputs/outputs into separate blocks * Once this is merged, I will copy the wording to the docs pages * Ideally we'd add a generate-docs command to grunt, but this is too hard to justify doing right now. * Update docs pages. * Copy code documentation to docs pages * Add a few previously undocumented options * Configure <code> tag to display better * update copy:tests task to allow localhost:8000/tests to run * Use the correct syntax to reference a github repository. The previous syntax was creating an error in my project using grunt-bower-task. grunt-bower copying Fatal error: ENOENT, no such file or directory 'vendor/antiscroll' * Fix jquery-mousewheel dependency * Fix usebanner and default grunt build Previously, the dist files banner would be lost when running grunt watch (because usebanner wouldn't be called). This makes sure it's called after changes to dist files. It also fixes other small problems in the default grunt build - adds clean to the start of the grunt task, and adds uglify in some places to make sure the min js file actually gets updated. Should fix a few build frustrations. * Fix rendering issue in Linux Chrome v38 The Chrome update made rows a tiny bit wider, so that non-fixed columns are forced to "wrap to the next line"... but the "next line" is below everything in the fixed columns! See http://stackoverflow.com/questions/26495735/google-chrome-rendering-floated-text-on-multiple-lines. This is probably a hack, but forces the text not to wrap. This should be ok because ember-table computes and sets widths. * Link to new version of charts/widgets docs. Also, use consistent ordering. * Release 0.2.3 * Fix ember-table with Ember.EXTEND_PROTOTYPES=false Fixes Addepar#224 * Allow bower to pull in the src directory. This allows users to import LESS files directly and override variables, without adding LESS files to the dist folder. Tweak the other bower ignores as well (you can't ignore bower.json, CHANGELOG.md and CONTRIBUTING.md should have been ignored already). * Fix formatting error in CHANGELOG.md * Fix Ember.Set deprecation warnings Signed-off-by: Alessandro D'Aquino (elara) <alex@midokura.com> * Release 0.2.4 * New column resizing behavior and modes. Splits resizing behavior into two modes (standard and fluid), configurable via: columnMode: 'standard/fluid' In standard mode, columns push and pull their neighbors; resizing a column will change only that column's width. In fluid mode, columns steal width from their neighbors when resized. Column configuration options have been made more effective and consistent: minWidth/maxWidth now work reliably, and isResizable/isSortable/canAutoResize can be configured to get a wide range of behaviors out of Ember Table. Width can be persisted via the savedWidth property. Finally, adds a "configurable column demo" that makes it easy to play with the new configurations to see what they do or find a behavior that will work for different use cases. * Revert "Fix rendering issue in Linux Chrome v38" This reverts commit ea0983f. The fix caused a bug where header text would never wrap (long header text should wrap to multiple lines). * Add savedWidth column to configurable demo * Release 0.3.0 * Update contributing guidelines Add details on CoffeeScript development and compilation to the contribution guidelines. Closes Addepar#242 * Change canAutoResize default to false Though this used to default to true, column resizing changes in version 0.3.0 actually mean that the behavior will be most similar to old versions (0.2.x) if we change the default to false. Previously you would activate automatic resizing by setting `forceFillColumns` to true. Now there is no such setting, because you can get all the same configuration directly from `canAutoResize` settings. * Release 0.4.0 * Re-fix rendering issue in Linux Chrome 38 The old fix had to be reverted (Addepar#245) because it introduced a bug. This fix doesn't re-introduce that bug. * Use a simple array instead of ArrayProxy * Don't add undefined elements to the selection If `findRow` fails to find the row (e.g. because the `bodyContent` changed), it shouldn't add `undefined` to the `selection` array. It should at least leave the selection unchanged. There's a more major issue hidden here, which I'll file as a separate bug. * Update savedWidth documentation * Clean up migration guide for version 0.1.0 * Add migration guides for v0.2, v0.3, and v0.4 * Fix various invalid HTML * Fixes memory leaks * Fix memory leaks jQuery plugin event handlers need to be removed. * with sortable * with resizable * Fix bug when destroying a not yet rendered header row * Prevent jQuery UI from moving DOM nodes itself, otherwise Ember’s morph library will lose track of DOM * Changes to dist files for 1850041 * Make sure the element is sortable/resizable before destroying them. * Fix reordering problem and resizing handles Fixes a bug around resizing handles. The problem was that some state would change (e.g. order of columns), and the resize handles wouldn't be recomputed. Then if they were torn down, they would be in the wrong state and would cause an error. This also meant that sometimes after reordering columns, the wrong resize handles would be applied. The solution to this is (1) compute nextResizableColumn in a more sane way; and (2) fix the resizing handle observer so that it fires at the right times. * Fix prettyprint DOM error in config column demo Prettyprint and Ember both want to manipulate the DOM. Remove prettyprint around some tricky ember stuff. Before this fix, reordering columns would not only break the prettyprint-ed code sample, it would ALSO break the table itself. While we're at it, this commit also cleans up the code used to generate code samples for the configurable column demo. * Add a mixin to give views access to tableComponent * Make sure not to reorder fixed columns by mistake * Make `isSelected` check its row contents, rather row objects Previously, `isSelected` checked if `_selection`, which contains row objects, included a given row. Now, we use `selection`, which contains table content, and check if it includes the row's content. This means that when bodyContent is recomputed to contain new rows, selection does not change, since selection is now determined based on content, rather than rows. * Fix single selection mode. Previously, single selection mode's `selection` output was an object, rather than an array containing that object (which is be consistent with multiple selection, and also what the docs say). The previous change to `isSelected` meant that tables were broken entirely for `selectionMode="single"`. This commit fixes that bug as well. * Fix Broken HTML * Remove `_selection` and use content instead of rows in selection logic * Switch back to old API for `selection` A previous commit (88498d4) changed the `selection` API so that it was always an array, even if `selectionMode` is `single` or `none`. This commit changes back to the previous state. * When `selectionMode` is `none`, `selection` is `null` * When it is `single`, it is the selected item * When it is `multiple`, it is an array of selected items * Fix header height when table is resized When resizing the browser window, table header row height was not updated correctly. This shows when columns are autofilled to the complete table width. Sample jsfiddle with current behaviour: http://jsfiddle.net/ghdyyfy9/ jsfiddle with the fix applied: http://jsfiddle.net/kh07sff2/ * Round widths on column resize Previously, `onColumnResize` would be called with floating-point numbers, which would then be used for a while until `doForceFillColumns` coerced them to be integers. Instead, we should just make them integers immediately. * Correct bad version regex * Better versions for ember and jquery * Ember specifies >= 1.4 and < 1.9 * jQuery now ^1.11.1 to be in sync with ember-cli apps * Release 0.4.1 * Fix style bindings mixin not observing changes after init If when extending the ember-charts library a user attempts to add or remove style bindings, these changes will now be reflected. Closes Addepar#295 * Explain ember version support in the README. * Fix Addepar#304 - use `width` instead of `outerWidth` - Fixes margin and padding of parent being included in container/row calculation - closes Addepar#304, re-closes Addepar#93 - allows table to play nice with bootstrap and similar frameworks (where parent Cols may have margin and/or padding) * Move back to using pointer style sortable tolerance from intersect Intersect style tolerance for UI sortable (reorderable) elements in JQuery produces a bug where we can't drag columns to the leftmost slot unless we grab them from the far left side. * Move to Ember CLI version This upgrade allows easy installs into Ember CLI apps, and is also fully backwards-compatible with globals-based Ember apps. * Convert from Coffeescript to JS * Restructure to use Ember CLI conventions * Blueprint to import Ember Table dependencies * New demo app * Example code is auto-built from files backing the demo * Add globals build, with build code in the `packaging` folder * Fix/change to LazyContainerView involving `childViews` See http://github.com/Addepar/ember-table-addon for more information. * Release 0.5.0 * Remove demo app's dependency on lodash This makes the examples easier to use - you can copy+paste the simple table example into a new project and it will work immediately. * Add "grunt clean" task to clear temp files * Adds "demoURL" to package.json Sites likes emberaddons.com and emberobserver.com will display a link to "demoURL". * Use Addepar repo for antiscroll; apply bugfixes Bugfix PRs were created against the azirbel/antiscroll repo. The resulting code can be found in commits 2555271bf3cf5828994c7417f2bd507e633b680d and b48c6a0225ae9a2cfbcd551b65e740d16294f359. * changes binding syntax from xBinding="var" to x=var * Allow content to be a promise * Use resolved promise as the rows of the table * Change default value of content to empty array * Escape style bindings * Update .npmignore to prevent packaging tmp dir The ember-cli addon blueprint generates the .npmignore and previous to 0.2.2 did not ignore the tmp directory causing large packages. This change is direct from ember-cli/ember-cli#3539 * Header aligns properly after reordering columns Before, in tables with a fixed column, you could cause the column headers to get out of alignment with the rest of the table by scrolling a bit then reordering the columns. This change makes it so that sidescrolling gets triggered when the columns change. This also removes references to scrolling from header rows (as this should be handled in the header block). * Mentions supported browsers in readme * Remove moot `version` property from bower.json Per bower/spec@a325da3 Also their maintainer says they probably won't ever use it: http://stackoverflow.com/questions/24844901/bowers-bower-json-file-version-property * Add ember-dist and .stage to .npmignore * fix issue Addepar#165, isLastRow property problem. - isLastRow property will cause ember table to access last row of content, see issue Addepar#165 * Fix lazy container bug When changing content of ember-table I end up with an error stating that I can't call get on undefined. This stems from a problem with lazy container where the container views length is longer than the actual number of views. I'm unsure if this is an ember problem or if its something to do with the implementation of lazy container itself. It might be that you can't rely on ember having created all the views. Checking to see if the view exists before settings its content fixes this and I have had no noticeable problems with this extra check. * Use new version of antiscroll Applies the antiscroll commit "Antiscroll not cleaning up correctly after itself". * Release 0.5.1 * Support for Ember 1.9 Also includes a repackaged globals build (dist/) for Ember 1.9 * Release 0.6.0 * Support for Ember 1.10 Also includes a repackaged globals build (dist/) for Ember 1.10 * Release 0.7.0 * Support for Ember 1.11 Also includes a repackaged globals build (dist/) for Ember 1.11 * Release 0.8.0 * Upgraded to EmberCLI 0.2.7 * Release 0.9.0 * Added Acceptance Test - added acceptance test for simple table - added ability to generate seeded random numbers and dates - added acceptance tests for configurable columns - added removeable columns example - added acceptance tests for removable columns example - replaced all template replacement mechanism in favour of ember-code-snippet - refactored all examples to use {{code-snippet}} - rebuild global dist * Don't test with release/beta/canary versions of Ember Ember Table will need major refactors to work with Ember 1.13, so testing against these versions of Ember using `ember-try` doesn't make sense. * Add state inDOM check for an afterRender call Fixes a bug introduced by fa75c39, where _this.$() can be undefined during teardown. * Add Travis build status to README * Use SafeString to avoid style attributes warning * add onColumnReordered and onColumnResized actions - related to Addepar#312 and supersedes Addepar#342 - onColumnReordered fires with three args: all columns (new), column that was reordered, and index at which new column was placed - onColumnResized fires with 2 args: column that was resized and new width of the column. Note that resizing of a column can cause another to resize if fit columns mode is on. - manual tests passed. no automated tests ran. * Use correct version of antiscroll in blueprint * Release 0.9.1 * Restructured antiscroll dependency * Release 0.9.2 * Fix undefined table component There is a race condition where if a header cell is removed from the dom during resizing, tableComponent becomes undefined in elementSizeDidChange because the associated view has already been destroyed by the time the afterRender portion of the run loop happens. This throws an exception. This commit properly cancels the scheduled callback when the view is destroyed, preventing the exception. * Refactor stuff * Continue refactoring doForceFillColumns to make it easier to understand * Ember 2.0 support * Bubble sortByColumn all the way from header-cell to ember-table * Fixed table.set('selection'), which did not set the cached value. * Use ember-collection to lazy render * Fix ember-collection dependency * Remove unused ember data dependency * lock down ember-cli-test-loader version * remove antiscroll dependency, fix force columns width calculation, fix resizing bugs
@azirbel @igillis
Add CoffeeScript compiling details to the contribution guidelines.
Let's critique this here; I'll open identical (s/table/charts and s/table/widgets) PRs for charts and widgets once we're entirely happy with the language.