modules next: remove module items

test plan:

1. click the cog
2. pick “remove”
   - it should fade out
   - it should not show up after refresh

Change-Id: Ib8c9beaf71665dd321efaea3a69069813ca96b1d
Reviewed-on: https://gerrit.instructure.com/38466
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
QA-Review: Ryan Florence <ryanf@instructure.com>
This commit is contained in:
Ryan Florence 2014-07-30 15:02:40 -06:00
parent 142a3510ab
commit 6323ea51c3
7 changed files with 37 additions and 6 deletions

View File

@ -15,7 +15,7 @@ define [
# let the .sortable-handle draggable bubble up to here
draggable: 'false'
tagName: 'li'
tagName: 'div'
classNames: ['context_module_item']

View File

@ -2,9 +2,9 @@ define [
'ember'
'ic-lazy-list'
'../models/item'
], (Ember, LazyListComponent, Item) ->
], (Ember, LazyList, Item) ->
ModuleItemComponent = LazyListComponent.extend
ModuleItemComponent = LazyList.IcLazyListComponent.extend
normalize: ({response}) ->
(Item.createRecord(item) for item in response)

View File

@ -2,9 +2,9 @@ define [
'ember'
'ic-lazy-list'
'../models/module'
], (Ember, LazyListComponent, Module) ->
], (Ember, LazyList, Module) ->
ModuleListComponent = LazyListComponent.extend
ModuleListComponent = LazyList.IcLazyListComponent.extend
href: "/api/v1/courses/#{ENV.course_id}/modules?include[]=items"

View File

@ -7,6 +7,8 @@ define [
ItemController = Ember.ObjectController.extend
isDeleting: false
actions:
increaseIndent: ->
@ -17,6 +19,12 @@ define [
@decrementProperty('model.indent')
store.syncItemById(@get('model.id'))
remove: ->
@set 'isDeleting', yes #ma'am
Ember.run.later =>
store.removeItemById(@get('model.id'))
, 351
indentClassName: (->
"indent-#{@get('indent')}"
).property('indent')

View File

@ -53,3 +53,13 @@ define [
data: {module_item: item.serialize()}
type: 'put'
removeItemById: (id) ->
item = @find('item', id)
module = @find('module', get(item, 'module_id'))
get(module, 'items').removeObject(item)
request
url: "/api/v1/courses/#{@courseId}/modules/#{id}/items/#{get(item, 'id')}"
type: 'delete'
# TODO: handle error

View File

@ -52,7 +52,7 @@
{{#ic-menu-item on-select="decreaseIndent"}}Decrease indent{{/ic-menu-item}}
{{/if}}
{{#ic-menu-item}}Edit{{/ic-menu-item}}
{{#ic-menu-item}}Remove{{/ic-menu-item}}
{{#ic-menu-item on-select="remove"}}Remove{{/ic-menu-item}}
{{/ic-actions}}
</div>

View File

@ -0,0 +1,13 @@
define [
'ember'
], (Ember) ->
ModuleView = Ember.View.extend
tagName: 'li'
animateOnDestroy: (->
return unless @get('controller.isDeleting')
@$().slideToggle(350)
).observes('controller.isDeleting')