Update to new Connector API
This commit is contained in:
		
							parent
							
								
									4203097376
								
							
						
					
					
						commit
						89962793d0
					
				|  | @ -0,0 +1,22 @@ | |||
| import { showStaffNotes } from 'discourse/plugins/staff-notes/discourse-staff-notes/lib/staff-notes'; | ||||
| import { getOwner } from 'discourse-common/lib/get-owner'; | ||||
| 
 | ||||
| export default { | ||||
|   shouldRender(args, component) { | ||||
|     const { siteSettings, currentUser } = component; | ||||
|     return siteSettings.staff_notes_enabled && currentUser && currentUser.staff; | ||||
|   }, | ||||
| 
 | ||||
|   setupComponent(args, component) { | ||||
|     const { model } = args; | ||||
|     component.set('staffNotesCount', model.get('custom_fields.staff_notes_count') || 0); | ||||
|   }, | ||||
| 
 | ||||
|   actions: { | ||||
|     showStaffNotes() { | ||||
|       const store = getOwner(this).lookup('store:main'); | ||||
|       const user = this.get('args.model'); | ||||
|       showStaffNotes(store, user.get('id'), count => this.set('staffNotesCount', count)); | ||||
|     } | ||||
|   } | ||||
| }; | ||||
|  | @ -0,0 +1,18 @@ | |||
| import showModal from 'discourse/lib/show-modal'; | ||||
| import loadScript from 'discourse/lib/load-script'; | ||||
| 
 | ||||
| export function showStaffNotes(store, userId, callback) { | ||||
|   return loadScript('defer/html-sanitizer-bundle').then(() => { | ||||
|     return store.find('staff-note', { user_id: userId }).then(model => { | ||||
|       const controller = showModal('staff-notes', { | ||||
|         model, | ||||
|         title: 'staff_notes.title', | ||||
|         addModalBodyView: true | ||||
|       }); | ||||
|       controller.reset(); | ||||
|       controller.set('userId', userId); | ||||
|       controller.set('callback', callback); | ||||
|       return controller; | ||||
|     }); | ||||
|   }); | ||||
| } | ||||
|  | @ -1,7 +1,6 @@ | |||
| import { withPluginApi } from 'discourse/lib/plugin-api'; | ||||
| import showModal from 'discourse/lib/show-modal'; | ||||
| import loadScript from 'discourse/lib/load-script'; | ||||
| import { iconNode } from 'discourse/helpers/fa-icon-node'; | ||||
| import { showStaffNotes } from 'discourse/plugins/staff-notes/discourse-staff-notes/lib/staff-notes'; | ||||
| 
 | ||||
| export default { | ||||
|   name: 'enable-staff-notes', | ||||
|  | @ -11,26 +10,9 @@ export default { | |||
|     if (!siteSettings.staff_notes_enabled || !currentUser || !currentUser.staff) { return; } | ||||
| 
 | ||||
|     const store = container.lookup('store:main'); | ||||
| 
 | ||||
|     withPluginApi('0.2', api => { | ||||
|       function showStaffNotes(userId, callback) { | ||||
|         return loadScript('defer/html-sanitizer-bundle').then(() => { | ||||
|           return store.find('staff-note', { user_id: userId }).then(model => { | ||||
|             const controller = showModal('staff-notes', { | ||||
|               model, | ||||
|               title: 'staff_notes.title', | ||||
|               addModalBodyView: true | ||||
|             }); | ||||
|             controller.reset(); | ||||
|             controller.set('userId', userId); | ||||
|             controller.set('callback', callback); | ||||
|             return controller; | ||||
|           }); | ||||
|         }); | ||||
|       } | ||||
| 
 | ||||
|       function widgetShowStaffNotes() { | ||||
|         showStaffNotes(this.attrs.user_id, count => { | ||||
|         showStaffNotes(store, this.attrs.user_id, count => { | ||||
|           this.sendWidgetAction('refreshStaffNotes', count); | ||||
|         }); | ||||
|       } | ||||
|  | @ -52,12 +34,11 @@ export default { | |||
|         actions: { | ||||
|           showStaffNotes() { | ||||
|             const user = this.get('model'); | ||||
|             showStaffNotes(user.get('id'), count => this.set('staffNotesCount', count)); | ||||
|             showStaffNotes(store, user.get('id'), count => this.set('staffNotesCount', count)); | ||||
|           } | ||||
|         } | ||||
|       }); | ||||
| 
 | ||||
| 
 | ||||
|       const mobileView = api.container.lookup('site:main').mobileView; | ||||
|       const loc = mobileView ? 'before' : 'after'; | ||||
|       api.decorateWidget(`poster-name:${loc}`, dec => { | ||||
|  |  | |||
|  | @ -1,5 +1,4 @@ | |||
| <div class="modal-body staff-notes-modal"> | ||||
| 
 | ||||
| {{#d-modal-body class="staff-notes-modal"}} | ||||
|   {{#each model as |n|}} | ||||
|     <div class='staff-note'> | ||||
|       <div class='posted-by'> | ||||
|  | @ -34,4 +33,4 @@ | |||
| 
 | ||||
|   {{textarea value=newNote}} | ||||
|   {{d-button action="attachNote" label="staff_notes.attach" class="btn-primary" disabled=attachDisabled}} | ||||
| </div> | ||||
| {{/d-modal-body}} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue