| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- import _ from 'lodash'
- /* eslint-disable
- max-len,
- no-return-assign,
- */
- // TODO: This file was created by bulk-decaffeinate.
- // Fix any style issues and re-enable lint.
- /*
- * decaffeinate suggestions:
- * DS102: Remove unnecessary code created because of implicit returns
- * DS205: Consider reworking code to avoid use of IIFEs
- * DS207: Consider shorter variations of null checks
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
- */
- import App from '../../../base'
- export default App.directive('resolvedCommentsDropdown', () => ({
- restrict: 'E',
- templateUrl: 'resolvedCommentsDropdownTemplate',
- scope: {
- entries: '=',
- threads: '=',
- resolvedIds: '=',
- docs: '=',
- permissions: '=',
- onOpen: '&',
- onUnresolve: '&',
- onDelete: '&',
- isLoading: '=',
- },
- link(scope, element, attrs) {
- let filterResolvedComments
- scope.state = { isOpen: false }
- scope.toggleOpenState = function () {
- scope.state.isOpen = !scope.state.isOpen
- if (scope.state.isOpen) {
- return scope.onOpen().then(() => filterResolvedComments())
- }
- }
- scope.resolvedComments = []
- scope.handleUnresolve = function (threadId) {
- scope.onUnresolve({ threadId })
- return (scope.resolvedComments = scope.resolvedComments.filter(
- c => c.threadId !== threadId
- ))
- }
- scope.handleDelete = function (entryId, docId, threadId) {
- scope.onDelete({ entryId, docId, threadId })
- return (scope.resolvedComments = scope.resolvedComments.filter(
- c => c.threadId !== threadId
- ))
- }
- const getDocNameById = function (docId) {
- const doc = _.find(scope.docs, doc => doc.doc.id === docId)
- if (doc != null) {
- return doc.path
- } else {
- return null
- }
- }
- return (filterResolvedComments = function () {
- scope.resolvedComments = []
- return (() => {
- const result = []
- for (const docId in scope.entries) {
- const docEntries = scope.entries[docId]
- result.push(
- (() => {
- const result1 = []
- for (const entryId in docEntries) {
- const entry = docEntries[entryId]
- if (
- entry.type === 'comment' &&
- (scope.threads[entry.thread_id] != null
- ? scope.threads[entry.thread_id].resolved
- : undefined) != null
- ) {
- const resolvedComment = angular.copy(
- scope.threads[entry.thread_id]
- )
- resolvedComment.content = entry.content
- resolvedComment.threadId = entry.thread_id
- resolvedComment.entryId = entryId
- resolvedComment.docId = docId
- resolvedComment.docName = getDocNameById(docId)
- result1.push(scope.resolvedComments.push(resolvedComment))
- } else {
- result1.push(undefined)
- }
- }
- return result1
- })()
- )
- }
- return result
- })()
- })
- },
- }))
|