diff --git a/frontend/src/config/integrations/gitlab/components/gitlab-connect-finishing-modal.vue b/frontend/src/config/integrations/gitlab/components/gitlab-connect-finishing-modal.vue deleted file mode 100644 index 2522cae435..0000000000 --- a/frontend/src/config/integrations/gitlab/components/gitlab-connect-finishing-modal.vue +++ /dev/null @@ -1,39 +0,0 @@ - - - - - diff --git a/frontend/src/config/integrations/gitlab/components/project-list.vue b/frontend/src/config/integrations/gitlab/components/project-list.vue deleted file mode 100644 index 19f58b3514..0000000000 --- a/frontend/src/config/integrations/gitlab/components/project-list.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - diff --git a/frontend/src/config/integrations/groupsio/components/groupsio-array-input.vue b/frontend/src/config/integrations/groupsio/components/groupsio-array-input.vue deleted file mode 100644 index 86f58691fc..0000000000 --- a/frontend/src/config/integrations/groupsio/components/groupsio-array-input.vue +++ /dev/null @@ -1,83 +0,0 @@ - - - - - diff --git a/frontend/src/modules/activity/activity-model.js b/frontend/src/modules/activity/activity-model.js deleted file mode 100644 index 2c7966dc8d..0000000000 --- a/frontend/src/modules/activity/activity-model.js +++ /dev/null @@ -1,54 +0,0 @@ -import { GenericModel } from '@/shared/model/generic-model'; -import { MemberField } from '@/modules/member/member-field'; -import SearchField from '@/shared/fields/search-field'; -import SentimentField from '@/shared/fields/sentiment-field'; -import ActivityDateField from '@/shared/fields/activity-date-field'; -import ActivityChannelsField from '@/shared/fields/activity-channels-field'; -import ActivityPlatformField from './activity-platform-field'; -import ActivityTypeField from './activity-type-field'; - -const fields = { - search: new SearchField('search', 'search', { - fields: ['title', 'body'], - }), - member: MemberField.relationToOne( - 'memberId', - 'Person', - { - required: true, - filterable: true, - }, - ), - date: new ActivityDateField('timestamp', 'Date', { - filterable: true, - }), - platform: new ActivityPlatformField( - 'platform', - 'Platform', - { - required: true, - min: 2, - filterable: true, - }, - ), - type: new ActivityTypeField('type', 'Activity type', { - required: true, - filterable: true, - }), - sentiment: new SentimentField('sentiment', 'Sentiment', { - filterable: true, - }), - activityChannels: new ActivityChannelsField( - 'channel', - 'Channel', - { - filterable: true, - }, - ), -}; - -export class ActivityModel extends GenericModel { - static get fields() { - return fields; - } -} diff --git a/frontend/src/modules/dashboard/components/dashboard-widget-chart.vue b/frontend/src/modules/dashboard/components/dashboard-widget-chart.vue deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/frontend/src/modules/layout/components/system-status/system-status.vue b/frontend/src/modules/layout/components/system-status/system-status.vue deleted file mode 100644 index 21810ee346..0000000000 --- a/frontend/src/modules/layout/components/system-status/system-status.vue +++ /dev/null @@ -1,109 +0,0 @@ - - - diff --git a/frontend/src/modules/lf/layout/components/lf-integrations-page-header.vue b/frontend/src/modules/lf/layout/components/lf-integrations-page-header.vue deleted file mode 100644 index 711ac9207d..0000000000 --- a/frontend/src/modules/lf/layout/components/lf-integrations-page-header.vue +++ /dev/null @@ -1,49 +0,0 @@ - - - - - diff --git a/frontend/src/modules/lf/member/components/form/lf-member-form-affiliations.vue b/frontend/src/modules/lf/member/components/form/lf-member-form-affiliations.vue deleted file mode 100644 index 916b8e4da5..0000000000 --- a/frontend/src/modules/lf/member/components/form/lf-member-form-affiliations.vue +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - diff --git a/frontend/src/modules/lf/member/components/view/lf-member-aside-sub-projects.vue b/frontend/src/modules/lf/member/components/view/lf-member-aside-sub-projects.vue deleted file mode 100644 index d4005c50e9..0000000000 --- a/frontend/src/modules/lf/member/components/view/lf-member-aside-sub-projects.vue +++ /dev/null @@ -1,49 +0,0 @@ - - - - - diff --git a/frontend/src/modules/lf/segments/components/filter/lf-checkbox-cascader.vue b/frontend/src/modules/lf/segments/components/filter/lf-checkbox-cascader.vue deleted file mode 100644 index 3ce73e4652..0000000000 --- a/frontend/src/modules/lf/segments/components/filter/lf-checkbox-cascader.vue +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - diff --git a/frontend/src/modules/member/components/list/member-list-bulk-update-tags.vue b/frontend/src/modules/member/components/list/member-list-bulk-update-tags.vue deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/frontend/src/modules/member/components/member-bio.vue b/frontend/src/modules/member/components/member-bio.vue deleted file mode 100644 index 00e83cd992..0000000000 --- a/frontend/src/modules/member/components/member-bio.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/frontend/src/modules/member/components/member-dropdown.vue b/frontend/src/modules/member/components/member-dropdown.vue deleted file mode 100644 index 7d51d7560e..0000000000 --- a/frontend/src/modules/member/components/member-dropdown.vue +++ /dev/null @@ -1,78 +0,0 @@ - - - - - diff --git a/frontend/src/modules/member/components/member-emails.vue b/frontend/src/modules/member/components/member-emails.vue deleted file mode 100644 index 01d56c5c58..0000000000 --- a/frontend/src/modules/member/components/member-emails.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/frontend/src/modules/member/components/member-global-attributes-drawer.vue b/frontend/src/modules/member/components/member-global-attributes-drawer.vue deleted file mode 100644 index 4e43cad55c..0000000000 --- a/frontend/src/modules/member/components/member-global-attributes-drawer.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - - diff --git a/frontend/src/modules/widget/components/shared/widget-area.vue b/frontend/src/modules/widget/components/shared/widget-area.vue deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/frontend/src/shared/alert/alert.vue b/frontend/src/shared/alert/alert.vue deleted file mode 100644 index 42017a9b9a..0000000000 --- a/frontend/src/shared/alert/alert.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - diff --git a/frontend/src/shared/avatar/squared-avatar.vue b/frontend/src/shared/avatar/squared-avatar.vue deleted file mode 100644 index 1b03e861e5..0000000000 --- a/frontend/src/shared/avatar/squared-avatar.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - diff --git a/frontend/src/shared/events/tenant-event.service.js b/frontend/src/shared/events/tenant-event.service.js deleted file mode 100644 index 07b478f94a..0000000000 --- a/frontend/src/shared/events/tenant-event.service.js +++ /dev/null @@ -1,15 +0,0 @@ -import authAxios from '@/shared/axios/auth-axios'; -import { AuthService } from '@/modules/auth/services/auth.service'; - -export class TenantEventService { - static async event(data) { - const tenantId = AuthService.getTenantId(); - - const response = await authAxios.post( - `/tenant/${tenantId}/event-tracking`, - data, - ); - - return response.data; - } -} diff --git a/frontend/src/shared/excel/excel.js b/frontend/src/shared/excel/excel.js deleted file mode 100644 index e26e126059..0000000000 --- a/frontend/src/shared/excel/excel.js +++ /dev/null @@ -1,24 +0,0 @@ -import FileSaver from 'file-saver'; -import Papa from 'papaparse'; - -export const EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; -export const EXCEL_TYPE_WITH_CHARSET = `${EXCEL_TYPE};charset=UTF-8`; -export const EXCEL_EXTENSION = '.csv'; - -export class Excel { - static exportAsExcelFile(json, header, fileName) { - const csv = Papa.unparse({ - data: json, - fields: header, - }); - - this.saveAsExcelFile(csv, fileName); - } - - static saveAsExcelFile(buffer, fileName) { - const data = new Blob([buffer], { - type: EXCEL_TYPE_WITH_CHARSET, - }); - FileSaver.saveAs(data, fileName + EXCEL_EXTENSION); - } -} diff --git a/frontend/src/shared/fields/activity-channels-field.js b/frontend/src/shared/fields/activity-channels-field.js deleted file mode 100644 index f8adfb0da9..0000000000 --- a/frontend/src/shared/fields/activity-channels-field.js +++ /dev/null @@ -1,54 +0,0 @@ -import JSONField from '@/shared/fields/json-field'; -import { store } from '@/store'; -import { CrowdIntegrations } from '@/integrations/integrations-config'; -import { computed } from 'vue'; -import { extractRepoNameFromUrl } from '@/utils/string'; -import { useActivityStore } from '@/modules/activity/store/pinia'; -import { storeToRefs } from 'pinia'; - -export default class ActivityChannelsField extends JSONField { - constructor(name, label, config = {}) { - super(name, label); - - this.filterable = config.filterable || false; - this.custom = config.custom || false; - } - - dropdownOptions() { - const activityStore = useActivityStore(); - const { activityChannels } = storeToRefs(activityStore); - - return Object.entries(activityChannels.value).map(([platform, channels]) => ({ - label: { - type: 'platform', - key: platform, - value: CrowdIntegrations.getConfig(platform)?.name ?? platform, - }, - nestedOptions: channels.map((channel) => ({ - value: channel, - label: platform === 'github' ? extractRepoNameFromUrl(channel) : channel, - })), - })); - } - - forFilter() { - return { - name: this.name, - label: this.label, - custom: this.custom, - props: { - options: this.dropdownOptions(), - multiple: false, - searchable: true, - searchPlaceholder: 'Search for channels', - searchEmpty: 'No channels found', - }, - defaultValue: null, - value: null, - defaultOperator: null, - operator: null, - type: 'select-group', - include: true, - }; - } -} diff --git a/frontend/src/shared/fields/activity-date-field.js b/frontend/src/shared/fields/activity-date-field.js deleted file mode 100644 index 7876ed2507..0000000000 --- a/frontend/src/shared/fields/activity-date-field.js +++ /dev/null @@ -1,67 +0,0 @@ -import StringField from '@/shared/fields/string-field'; -import { formatDate } from '@/utils/date'; - -export default class ActivityDateField extends StringField { - constructor(name, label, config = {}) { - super(name, label); - - this.placeholder = config.placeholder; - this.hint = config.hint; - this.required = config.required; - this.matches = config.matches; - this.filterable = config.filterable || false; - this.custom = config.custom || false; - } - - dropdownOptions() { - return [ - { - value: formatDate({ - subtractDays: 1, - }), - label: 'Last 24 hours', - }, - { - value: formatDate({ - subtractDays: 7, - }), - label: 'Last 7 days', - }, - { - value: formatDate({ - subtractDays: 14, - }), - label: 'Last 14 days', - }, - { - value: formatDate({ - subtractDays: 30, - }), - label: 'Last 30 days', - }, - { - value: formatDate({ - subtractDays: 90, - }), - label: 'Last 90 days', - }, - ]; - } - - forFilter() { - return { - name: this.name, - label: this.label, - custom: this.custom, - props: { - options: this.dropdownOptions(), - multiple: false, - }, - defaultValue: null, - value: null, - defaultOperator: 'gte', - operator: 'gte', - type: 'select', - }; - } -} diff --git a/frontend/src/shared/fields/sentiment-field.js b/frontend/src/shared/fields/sentiment-field.js deleted file mode 100644 index 5db740ca91..0000000000 --- a/frontend/src/shared/fields/sentiment-field.js +++ /dev/null @@ -1,57 +0,0 @@ -import GenericField from '@/shared/fields/string-field'; - -export default class SentimentField extends GenericField { - constructor(name, label, config = {}) { - super(name, label); - - this.placeholder = config.placeholder; - this.hint = config.hint; - this.required = config.required; - this.matches = config.matches; - this.filterable = config.filterable || false; - this.custom = config.custom || false; - } - - dropdownOptions() { - return [ - { - value: 'positive', - label: 'Positive', - range: { - gte: 67, - }, - }, - { - value: 'neutral', - label: 'Neutral', - range: { - between: [33, 67], - }, - }, - { - value: 'negative', - label: 'Negative', - range: { - lte: 33, - }, - }, - ]; - } - - forFilter() { - return { - name: this.name, - label: this.label, - custom: this.custom, - props: { - options: this.dropdownOptions(), - multiple: true, - }, - defaultValue: [], - value: [], - defaultOperator: null, - operator: null, - type: 'select-multi', - }; - } -} diff --git a/frontend/src/shared/filter/components/filter-list-item.vue b/frontend/src/shared/filter/components/filter-list-item.vue deleted file mode 100644 index 7462b319d8..0000000000 --- a/frontend/src/shared/filter/components/filter-list-item.vue +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - diff --git a/frontend/src/shared/filter/components/type/filter-type-select-multi.vue b/frontend/src/shared/filter/components/type/filter-type-select-multi.vue deleted file mode 100644 index 2407213f64..0000000000 --- a/frontend/src/shared/filter/components/type/filter-type-select-multi.vue +++ /dev/null @@ -1,93 +0,0 @@ - - - - - diff --git a/frontend/src/shared/filter/helpers/operators.js b/frontend/src/shared/filter/helpers/operators.js deleted file mode 100644 index 916f0f0d44..0000000000 --- a/frontend/src/shared/filter/helpers/operators.js +++ /dev/null @@ -1,28 +0,0 @@ -export default { - date: { - operator: { - eq: 'is', - lt: 'is before', - gt: 'is after', - between: 'between', - }, - }, - number: { - operator: { - eq: 'is', - lt: '<', - lte: '<=', - gt: '>', - gte: '>=', - between: 'between', - }, - }, - string: { - operator: { - eq: 'is', - ne: 'is not', - textContains: 'contains', - notContains: 'not contains', - }, - }, -}; diff --git a/frontend/src/shared/filter/helpers/query-filter.js b/frontend/src/shared/filter/helpers/query-filter.js deleted file mode 100644 index dff0311780..0000000000 --- a/frontend/src/shared/filter/helpers/query-filter.js +++ /dev/null @@ -1,9 +0,0 @@ -export default (option, query) => ( - (option.name - ?.toLowerCase() - .includes(query.toLowerCase()) - || option.label - .toLowerCase() - .includes(query.toLowerCase())) - && option.show !== false -); diff --git a/frontend/src/shared/form/editor.vue b/frontend/src/shared/form/editor.vue deleted file mode 100644 index ef9c5e1d02..0000000000 --- a/frontend/src/shared/form/editor.vue +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - diff --git a/frontend/src/shared/form/string-array-input.vue b/frontend/src/shared/form/string-array-input.vue deleted file mode 100644 index b7abc26bdf..0000000000 --- a/frontend/src/shared/form/string-array-input.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - - - diff --git a/frontend/src/shared/filter/helpers/different-util.js b/frontend/src/shared/helpers/different-util.js similarity index 100% rename from frontend/src/shared/filter/helpers/different-util.js rename to frontend/src/shared/helpers/different-util.js diff --git a/frontend/src/shared/shared-module.js b/frontend/src/shared/shared-module.js index ddb758517c..af195baab1 100644 --- a/frontend/src/shared/shared-module.js +++ b/frontend/src/shared/shared-module.js @@ -1,15 +1,10 @@ -import StringArrayInput from '@/shared/form/string-array-input.vue'; import AutocompleteOneInput from '@/shared/form/autocomplete-one-input.vue'; import AutocompleteManyInput from '@/shared/form/autocomplete-many-input.vue'; import KeywordsInput from '@/shared/form/keywords-input.vue'; import Avatar from '@/shared/avatar/avatar.vue'; -import SquaredAvatar from '@/shared/avatar/squared-avatar.vue'; -import Alert from '@/shared/alert/alert.vue'; -import Teleport from '@/shared/teleport/teleport.vue'; import Pagination from '@/shared/pagination/pagination.vue'; import InfinitePagination from '@/shared/pagination/infinite-pagination.vue'; import PaginationSorter from '@/shared/pagination/pagination-sorter.vue'; -import FilterTypeSelectMulti from '@/shared/filter/components/type/filter-type-select-multi.vue'; import InlineSelectInput from '@/shared/form/inline-select-input.vue'; import Dialog from '@/shared/dialog/dialog.vue'; import EmptyStateCta from '@/shared/empty-state/empty-state-cta.vue'; @@ -26,13 +21,8 @@ export default { components: { 'app-autocomplete-one-input': AutocompleteOneInput, 'app-autocomplete-many-input': AutocompleteManyInput, - 'app-string-array-input': StringArrayInput, - 'app-filter-type-select-multi': FilterTypeSelectMulti, 'app-avatar': Avatar, - 'app-squared-avatar': SquaredAvatar, - 'app-alert': Alert, 'app-keywords-input': KeywordsInput, - 'app-teleport': Teleport, 'app-pagination': Pagination, 'app-infinite-pagination': InfinitePagination, 'app-pagination-sorter': PaginationSorter, diff --git a/frontend/src/shared/store/actions.js b/frontend/src/shared/store/actions.js index 6ed756458f..5175989e14 100644 --- a/frontend/src/shared/store/actions.js +++ b/frontend/src/shared/store/actions.js @@ -1,5 +1,5 @@ import { h } from 'vue'; -import { attributesAreDifferent } from '@/shared/filter/helpers/different-util'; +import { attributesAreDifferent } from '@/shared/helpers/different-util'; import { router } from '@/router'; import Errors from '@/shared/error/errors'; import Message from '@/shared/message/message'; diff --git a/frontend/src/shared/store/getters.js b/frontend/src/shared/store/getters.js index fb2e90df91..b0f420a3a4 100644 --- a/frontend/src/shared/store/getters.js +++ b/frontend/src/shared/store/getters.js @@ -1,4 +1,4 @@ -import { filtersAreDifferent } from '@/shared/filter/helpers/different-util'; +import { filtersAreDifferent } from '@/shared/helpers/different-util'; import { INITIAL_PAGE_SIZE } from './constants'; export default () => ({ diff --git a/frontend/src/shared/tags/tags.vue b/frontend/src/shared/tags/tags.vue deleted file mode 100644 index 5b227ba5e2..0000000000 --- a/frontend/src/shared/tags/tags.vue +++ /dev/null @@ -1,133 +0,0 @@ - - - - - diff --git a/frontend/src/shared/teleport/teleport.vue b/frontend/src/shared/teleport/teleport.vue deleted file mode 100644 index d715dceced..0000000000 --- a/frontend/src/shared/teleport/teleport.vue +++ /dev/null @@ -1,38 +0,0 @@ - - -