add chunter -- not working yet

Signed-off-by: Andrey Platov <andrey@hardcoreeng.com>
This commit is contained in:
Andrey Platov
2021-08-07 17:23:13 +02:00
parent 9eb890e777
commit d8f262df9f
47 changed files with 1513 additions and 109 deletions
+73 -1
View File
@@ -2,6 +2,9 @@ lockfileVersion: 5.3
specifiers:
'@microsoft/api-extractor': ^7.18.4
'@rush-temp/chunter': file:./projects/chunter.tgz
'@rush-temp/chunter-assets': file:./projects/chunter-assets.tgz
'@rush-temp/chunter-resources': file:./projects/chunter-resources.tgz
'@rush-temp/client': file:./projects/client.tgz
'@rush-temp/client-resources': file:./projects/client-resources.tgz
'@rush-temp/contact': file:./projects/contact.tgz
@@ -15,6 +18,7 @@ specifiers:
'@rush-temp/login-resources': file:./projects/login-resources.tgz
'@rush-temp/model': file:./projects/model.tgz
'@rush-temp/model-all': file:./projects/model-all.tgz
'@rush-temp/model-chunter': file:./projects/model-chunter.tgz
'@rush-temp/model-contact': file:./projects/model-contact.tgz
'@rush-temp/model-core': file:./projects/model-core.tgz
'@rush-temp/model-rig': file:./projects/model-rig.tgz
@@ -87,6 +91,9 @@ specifiers:
dependencies:
'@microsoft/api-extractor': 7.18.4
'@rush-temp/chunter': file:projects/chunter.tgz_6c259fadfeb3a4b20890aefe87070b8b
'@rush-temp/chunter-assets': file:projects/chunter-assets.tgz
'@rush-temp/chunter-resources': file:projects/chunter-resources.tgz_c38cf1a7a413db8918b0b4754c21e4c5
'@rush-temp/client': file:projects/client.tgz_6c259fadfeb3a4b20890aefe87070b8b
'@rush-temp/client-resources': file:projects/client-resources.tgz_6c259fadfeb3a4b20890aefe87070b8b
'@rush-temp/contact': file:projects/contact.tgz_6c259fadfeb3a4b20890aefe87070b8b
@@ -100,6 +107,7 @@ dependencies:
'@rush-temp/login-resources': file:projects/login-resources.tgz_c38cf1a7a413db8918b0b4754c21e4c5
'@rush-temp/model': file:projects/model.tgz_6c259fadfeb3a4b20890aefe87070b8b
'@rush-temp/model-all': file:projects/model-all.tgz_6c259fadfeb3a4b20890aefe87070b8b
'@rush-temp/model-chunter': file:projects/model-chunter.tgz_6c259fadfeb3a4b20890aefe87070b8b
'@rush-temp/model-contact': file:projects/model-contact.tgz_6c259fadfeb3a4b20890aefe87070b8b
'@rush-temp/model-core': file:projects/model-core.tgz_6c259fadfeb3a4b20890aefe87070b8b
'@rush-temp/model-rig': file:projects/model-rig.tgz_6ab28797e7a22071465f7d680ae81ae5
@@ -8274,6 +8282,53 @@ packages:
commander: 2.20.3
dev: false
file:projects/chunter-assets.tgz:
resolution: {integrity: sha512-kRmElkS58/FJwkgz4yx35+C0wj3u/X+qJa1qJnHtcK9d2rnBwaWnU54+4OoFvNQj3L7vuHsrt7Nv2tiuHwRtyQ==, tarball: file:projects/chunter-assets.tgz}
name: '@rush-temp/chunter-assets'
version: 0.0.0
dev: false
file:projects/chunter-resources.tgz_c38cf1a7a413db8918b0b4754c21e4c5:
resolution: {integrity: sha512-VP1784iSMDjU+I5KOnhTTogIUV0KXWPZilDfgbksztHlcphtRl3SMfD++sdfxjapqivJJ0cWPdYpEwEOEuTA4g==, tarball: file:projects/chunter-resources.tgz}
id: file:projects/chunter-resources.tgz
name: '@rush-temp/chunter-resources'
version: 0.0.0
dependencies:
sass: 1.37.5
svelte: 3.42.1
svelte-loader: 3.1.2_svelte@3.42.1
svelte-preprocess: 4.7.4_c407529626dbb58d14a718f48c7fa84c
transitivePeerDependencies:
- '@babel/core'
- coffeescript
- less
- node-sass
- postcss
- postcss-load-config
- pug
- stylus
- sugarss
- typescript
dev: false
file:projects/chunter.tgz_6c259fadfeb3a4b20890aefe87070b8b:
resolution: {integrity: sha512-hmgD0Nd/V8tmm2gRjx+V4a0In4/B05vfI1sNPeD1CUd9zmaxCmP6zszeCGBSdT86eLAbTR6zgmmGuvPCEmfsvQ==, tarball: file:projects/chunter.tgz}
id: file:projects/chunter.tgz
name: '@rush-temp/chunter'
version: 0.0.0
dependencies:
'@types/heft-jest': 1.0.2
'@typescript-eslint/eslint-plugin': 4.28.5_a8e83fcad666e1ba86be4b2e27a20aea
eslint: 7.32.0
eslint-plugin-import: 2.23.4_eslint@7.32.0
eslint-plugin-node: 11.1.0_eslint@7.32.0
eslint-plugin-promise: 4.3.1
transitivePeerDependencies:
- '@typescript-eslint/parser'
- supports-color
- typescript
dev: false
file:projects/client-resources.tgz_6c259fadfeb3a4b20890aefe87070b8b:
resolution: {integrity: sha512-sZx3SSO4spAS8S/DNgBlr8t/yz9UeCjmZsBU0foLLXOTijqUpAO/OvFfUW2H22pxg+sUVSElWeAKI/qRINishw==, tarball: file:projects/client-resources.tgz}
id: file:projects/client-resources.tgz
@@ -8497,6 +8552,23 @@ packages:
- typescript
dev: false
file:projects/model-chunter.tgz_6c259fadfeb3a4b20890aefe87070b8b:
resolution: {integrity: sha512-Fyp9PC9Hir9bpNLM0WzvSRduqiH4I7feu2A4QZzuk+Ezi6ddmHKTAwhjn1K/J9mY3iWyBpJp1FfQN/K2LWuJiw==, tarball: file:projects/model-chunter.tgz}
id: file:projects/model-chunter.tgz
name: '@rush-temp/model-chunter'
version: 0.0.0
dependencies:
'@typescript-eslint/eslint-plugin': 4.28.5_a8e83fcad666e1ba86be4b2e27a20aea
eslint: 7.32.0
eslint-plugin-import: 2.23.4_eslint@7.32.0
eslint-plugin-node: 11.1.0_eslint@7.32.0
eslint-plugin-promise: 4.3.1
transitivePeerDependencies:
- '@typescript-eslint/parser'
- supports-color
- typescript
dev: false
file:projects/model-contact.tgz_6c259fadfeb3a4b20890aefe87070b8b:
resolution: {integrity: sha512-JlEMxKqXuBQ/W+rx/Y/8AzgpvNXgzYW07FdV4ttM4XHeVx6kOhrS7U9FPB7d6o9ABqNsxJEhK9bwg5zclnS0eQ==, tarball: file:projects/model-contact.tgz}
id: file:projects/model-contact.tgz
@@ -8690,7 +8762,7 @@ packages:
dev: false
file:projects/prod.tgz_9242e79bee31c899aa4d2de67405a771:
resolution: {integrity: sha512-s++Fsji9qUBKlBSO+X/+Ke1yXzdJB0BNq2S+kQ+2lwbYRCCK/AUCIxMgFUTX/cb0WXpjCUNIhlh+ynApJ0njWQ==, tarball: file:projects/prod.tgz}
resolution: {integrity: sha512-7EQmn4HF+UC7i1Ia43tXlAiswU3iaa2E/OpX7QquArY63qNtKjR44PYrVb2a2q10kzXDHZv2hEhk6TZFsSNUBQ==, tarball: file:projects/prod.tgz}
id: file:projects/prod.tgz
name: '@rush-temp/prod'
version: 0.0.0
+4 -1
View File
@@ -55,6 +55,9 @@
"@anticrm/contact-resources": "~0.6.0",
"@anticrm/task": "~0.6.0",
"@anticrm/task-assets": "~0.6.0",
"@anticrm/task-resources": "~0.6.0"
"@anticrm/task-resources": "~0.6.0",
"@anticrm/chunter": "~0.6.0",
"@anticrm/chunter-assets": "~0.6.0",
"@anticrm/chunter-resources": "~0.6.0"
}
}
+3 -3
View File
@@ -21,7 +21,7 @@ import { workbenchId } from '@anticrm/workbench'
import { viewId } from '@anticrm/view'
import { taskId } from '@anticrm/task'
import { contactId } from '@anticrm/contact'
// import { chunterId } from '@anticrm/chunter'
import { chunterId } from '@anticrm/chunter'
// import { recruitId } from '@anticrm/recruit'
// import { tableId } from '@anticrm/table'
@@ -30,7 +30,7 @@ import { contactId } from '@anticrm/contact'
import '@anticrm/login-assets'
import '@anticrm/task-assets'
import '@anticrm/view-assets'
// import '@anticrm/chunter-assets'
import '@anticrm/chunter-assets'
// import '@anticrm/recruit-assets'
export function configurePlatform() {
@@ -48,7 +48,7 @@ export function configurePlatform() {
addLocation(viewId, () => import(/* webpackChunkName: "view" */ '@anticrm/view-resources'))
addLocation(taskId, () => import(/* webpackChunkName: "task" */ '@anticrm/task-resources'))
addLocation(contactId, () => import(/* webpackChunkName: "contact" */ '@anticrm/contact-resources'))
// addLocation(chunterId, () => import(/* webpackChunkName: "chunter" */ '@anticrm/plugin-chunter'))
addLocation(chunterId, () => import(/* webpackChunkName: "chunter" */ '@anticrm/chunter-resources'))
// // addLocation(recruitId, () => import(/* webpackChunkName: "recruit" */ '@anticrm/plugin-recruit'))
// addLocation(tableId, () => import(/* webpackChunkName: "table" */ '@anticrm/table-resources'))
+242 -95
View File
@@ -1,25 +1,25 @@
[
{
"_id": "610e99e140934d0adfc65313",
"_id": "610ea19d8112f14a381cf9fb",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:Obj",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0
}
},
{
"_id": "610e99e140934d0adfc65314",
"_id": "610ea19d8112f14a381cf9fc",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:Doc",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -27,13 +27,13 @@
}
},
{
"_id": "610e99e140934d0adfc65315",
"_id": "610ea19d8112f14a381cf9fd",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:Type",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -41,13 +41,13 @@
}
},
{
"_id": "610e99e140934d0adfc65316",
"_id": "610ea19d8112f14a381cf9fe",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:TypeString",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -55,13 +55,13 @@
}
},
{
"_id": "610e99e140934d0adfc65317",
"_id": "610ea19d8112f14a381cf9ff",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:Attribute",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -69,13 +69,13 @@
}
},
{
"_id": "610e99e140934d0adfc65318",
"_id": "610ea19d8112f14a381cfa00",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:Account",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"domain": "model",
@@ -84,13 +84,13 @@
}
},
{
"_id": "610e99e140934d0adfc65319",
"_id": "610ea19d8112f14a381cfa01",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:Space",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"domain": "model",
@@ -99,13 +99,13 @@
}
},
{
"_id": "610e99e140934d0adfc6531a",
"_id": "610ea19d8112f14a381cfa02",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:Tx",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"domain": "tx",
@@ -114,13 +114,13 @@
}
},
{
"_id": "610e99e140934d0adfc6531b",
"_id": "610ea19d8112f14a381cfa03",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:TxCUD",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -128,13 +128,13 @@
}
},
{
"_id": "610e99e140934d0adfc6531c",
"_id": "610ea19d8112f14a381cfa04",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:TxUpdateDoc",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -142,13 +142,13 @@
}
},
{
"_id": "610e99e140934d0adfc6531d",
"_id": "610ea19d8112f14a381cfa05",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:TxMixin",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -156,13 +156,13 @@
}
},
{
"_id": "610e99e140934d0adfc6531e",
"_id": "610ea19d8112f14a381cfa06",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:TxCreateDoc",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -170,13 +170,13 @@
}
},
{
"_id": "610e99e140934d0adfc6531f",
"_id": "610ea19d8112f14a381cfa07",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:Class",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"domain": "model",
@@ -185,13 +185,13 @@
}
},
{
"_id": "610e99e140934d0adfc65320",
"_id": "610ea19d8112f14a381cfa08",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "core:class:Mixin",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -199,13 +199,13 @@
}
},
{
"_id": "610e99e140934d0adfc65321",
"_id": "610ea19d8112f14a381cfa09",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "view:class:Viewlet",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"domain": "model",
@@ -214,13 +214,13 @@
}
},
{
"_id": "610e99e140934d0adfc65322",
"_id": "610ea19d8112f14a381cfa0a",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "view:class:ViewletDescriptor",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"domain": "model",
@@ -229,13 +229,13 @@
}
},
{
"_id": "610e99e140934d0adfc65323",
"_id": "610ea19d8112f14a381cfa0b",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "view:mixin:AttributePresenter",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -243,13 +243,13 @@
}
},
{
"_id": "610e99e140934d0adfc65324",
"_id": "610ea19d8112f14a381cfa0c",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "view:mixin:AttributeEditor",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -257,11 +257,11 @@
}
},
{
"_id": "610e99e140934d0adfc65325",
"_id": "610ea19d8112f14a381cfa0d",
"_class": "core:class:TxMixin",
"space": "core:space:Tx",
"modifiedBy": "core:account:System",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"objectId": "core:class:TypeString",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
@@ -271,11 +271,11 @@
}
},
{
"_id": "610e99e140934d0adfc65326",
"_id": "610ea19d8112f14a381cfa0e",
"_class": "core:class:TxMixin",
"space": "core:space:Tx",
"modifiedBy": "core:account:System",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"objectId": "core:class:TypeString",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
@@ -285,13 +285,13 @@
}
},
{
"_id": "610e99e140934d0adfc65327",
"_id": "610ea19d8112f14a381cfa0f",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "view:viewlet:Table",
"objectClass": "view:class:ViewletDescriptor",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"label": "Table",
@@ -300,13 +300,13 @@
}
},
{
"_id": "610e99e140934d0adfc65328",
"_id": "610ea19d8112f14a381cfa10",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "workbench:mixin:SpaceView",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -314,13 +314,13 @@
}
},
{
"_id": "610e99e140934d0adfc65329",
"_id": "610ea19d8112f14a381cfa11",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "workbench:class:Application",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"domain": "model",
@@ -329,13 +329,13 @@
}
},
{
"_id": "610e99e140934d0adfc6532a",
"_id": "610ea19d8112f14a381cfa12",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "contact:class:Contact",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -343,13 +343,13 @@
}
},
{
"_id": "610e99e140934d0adfc6532b",
"_id": "610ea19d8112f14a381cfa13",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "contact:class:Person",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -358,12 +358,12 @@
}
},
{
"_id": "610e99e140934d0adfc6532c",
"objectId": "610e99e140934d0adfc6532d",
"_id": "610ea19d8112f14a381cfa14",
"objectId": "610ea19d8112f14a381cfa15",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"modifiedBy": "core:account:System",
"modifiedOn": 1628346849136,
"modifiedOn": 1628348829403,
"objectSpace": "core:space:Model",
"objectClass": "core:class:Attribute",
"attributes": {
@@ -376,12 +376,12 @@
}
},
{
"_id": "610e99e140934d0adfc6532e",
"objectId": "610e99e140934d0adfc6532f",
"_id": "610ea19d8112f14a381cfa16",
"objectId": "610ea19d8112f14a381cfa17",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"modifiedBy": "core:account:System",
"modifiedOn": 1628346849136,
"modifiedOn": 1628348829403,
"objectSpace": "core:space:Model",
"objectClass": "core:class:Attribute",
"attributes": {
@@ -394,12 +394,12 @@
}
},
{
"_id": "610e99e140934d0adfc65330",
"objectId": "610e99e140934d0adfc65331",
"_id": "610ea19d8112f14a381cfa18",
"objectId": "610ea19d8112f14a381cfa19",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"modifiedBy": "core:account:System",
"modifiedOn": 1628346849136,
"modifiedOn": 1628348829403,
"objectSpace": "core:space:Model",
"objectClass": "core:class:Attribute",
"attributes": {
@@ -412,12 +412,12 @@
}
},
{
"_id": "610e99e140934d0adfc65332",
"objectId": "610e99e140934d0adfc65333",
"_id": "610ea19d8112f14a381cfa1a",
"objectId": "610ea19d8112f14a381cfa1b",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"modifiedBy": "core:account:System",
"modifiedOn": 1628346849136,
"modifiedOn": 1628348829403,
"objectSpace": "core:space:Model",
"objectClass": "core:class:Attribute",
"attributes": {
@@ -430,12 +430,12 @@
}
},
{
"_id": "610e99e140934d0adfc65334",
"objectId": "610e99e140934d0adfc65335",
"_id": "610ea19d8112f14a381cfa1c",
"objectId": "610ea19d8112f14a381cfa1d",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"modifiedBy": "core:account:System",
"modifiedOn": 1628346849136,
"modifiedOn": 1628348829403,
"objectSpace": "core:space:Model",
"objectClass": "core:class:Attribute",
"attributes": {
@@ -448,13 +448,13 @@
}
},
{
"_id": "610e99e140934d0adfc65336",
"_id": "610ea19d8112f14a381cfa1e",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "contact:class:Employee",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -462,13 +462,13 @@
}
},
{
"_id": "610e99e140934d0adfc65337",
"_id": "610ea19d8112f14a381cfa1f",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "contact:class:Organization",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -476,11 +476,11 @@
}
},
{
"_id": "610e99e140934d0adfc65338",
"_id": "610ea19d8112f14a381cfa20",
"_class": "core:class:TxMixin",
"space": "core:space:Tx",
"modifiedBy": "core:account:System",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"objectId": "contact:class:Person",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
@@ -490,13 +490,13 @@
}
},
{
"_id": "610e99e140934d0adfc65339",
"_id": "610ea19d8112f14a381cfa21",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "task:class:Task",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -504,12 +504,12 @@
}
},
{
"_id": "610e99e140934d0adfc6533a",
"objectId": "610e99e140934d0adfc6533b",
"_id": "610ea19d8112f14a381cfa22",
"objectId": "610ea19d8112f14a381cfa23",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"modifiedBy": "core:account:System",
"modifiedOn": 1628346849180,
"modifiedOn": 1628348829454,
"objectSpace": "core:space:Model",
"objectClass": "core:class:Attribute",
"attributes": {
@@ -522,12 +522,12 @@
}
},
{
"_id": "610e99e140934d0adfc6533c",
"objectId": "610e99e140934d0adfc6533d",
"_id": "610ea19d8112f14a381cfa24",
"objectId": "610ea19d8112f14a381cfa25",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"modifiedBy": "core:account:System",
"modifiedOn": 1628346849180,
"modifiedOn": 1628348829454,
"objectSpace": "core:space:Model",
"objectClass": "core:class:Attribute",
"attributes": {
@@ -540,12 +540,12 @@
}
},
{
"_id": "610e99e140934d0adfc6533e",
"objectId": "610e99e140934d0adfc6533f",
"_id": "610ea19d8112f14a381cfa26",
"objectId": "610ea19d8112f14a381cfa27",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"modifiedBy": "core:account:System",
"modifiedOn": 1628346849180,
"modifiedOn": 1628348829454,
"objectSpace": "core:space:Model",
"objectClass": "core:class:Attribute",
"attributes": {
@@ -558,13 +558,13 @@
}
},
{
"_id": "610e99e140934d0adfc65340",
"_id": "610ea19d8112f14a381cfa28",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "task:class:Project",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
@@ -574,11 +574,11 @@
}
},
{
"_id": "610e99e140934d0adfc65341",
"_id": "610ea19d8112f14a381cfa29",
"_class": "core:class:TxMixin",
"space": "core:space:Tx",
"modifiedBy": "core:account:System",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"objectId": "task:class:Project",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
@@ -591,13 +591,13 @@
}
},
{
"_id": "610e99e140934d0adfc65342",
"_id": "610ea19d8112f14a381cfa2a",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "610e99e140934d0adfc65343",
"objectId": "610ea19d8112f14a381cfa2b",
"objectClass": "view:class:Viewlet",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"attachTo": "task:class:Task",
@@ -615,13 +615,13 @@
}
},
{
"_id": "610e99e140934d0adfc65344",
"_id": "610ea19d8112f14a381cfa2c",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "610e99e140934d0adfc65345",
"objectId": "610ea19d8112f14a381cfa2d",
"objectClass": "workbench:class:Application",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"label": "task:string:ApplicationLabelTask",
@@ -639,13 +639,13 @@
}
},
{
"_id": "610e99e140934d0adfc65346",
"_id": "610ea19d8112f14a381cfa2e",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "610e99e140934d0adfc65347",
"objectId": "610ea19d8112f14a381cfa2f",
"objectClass": "task:class:Project",
"objectSpace": "core:space:Model",
"modifiedOn": 1628346849181,
"modifiedOn": 1628348829513,
"modifiedBy": "core:account:System",
"attributes": {
"name": "demo",
@@ -653,5 +653,152 @@
"private": false,
"members": []
}
},
{
"_id": "610ea19d8112f14a381cfa30",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "chunter:class:Backlink",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628348829514,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
"extends": "core:class:Doc"
}
},
{
"_id": "610ea19d8112f14a381cfa31",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "chunter:class:Message",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628348829514,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
"extends": "core:class:Doc"
}
},
{
"_id": "610ea19d8112f14a381cfa32",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "chunter:class:Channel",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"modifiedOn": 1628348829514,
"modifiedBy": "core:account:System",
"attributes": {
"kind": 0,
"extends": "core:class:Space",
"label": "chunter:string:Channel",
"icon": "chunter:icon:Hashtag"
}
},
{
"_id": "610ea19d8112f14a381cfa33",
"_class": "core:class:TxMixin",
"space": "core:space:Tx",
"modifiedBy": "core:account:System",
"modifiedOn": 1628348829514,
"objectId": "chunter:class:Channel",
"objectClass": "core:class:Class",
"objectSpace": "core:space:Model",
"mixin": "workbench:mixin:SpaceView",
"attributes": {
"view": {
"class": "chunter:class:Message"
}
}
},
{
"_id": "610ea19d8112f14a381cfa34",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "chunter:viewlet:Chat",
"objectClass": "view:class:ViewletDescriptor",
"objectSpace": "core:space:Model",
"modifiedOn": 1628348829514,
"modifiedBy": "core:account:System",
"attributes": {
"label": "Chat",
"icon": "view:icon:Table",
"component": "chunter:component:ChannelView"
}
},
{
"_id": "610ea19d8112f14a381cfa35",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "610ea19d8112f14a381cfa36",
"objectClass": "view:class:Viewlet",
"objectSpace": "core:space:Model",
"modifiedOn": 1628348829514,
"modifiedBy": "core:account:System",
"attributes": {
"attachTo": "chunter:class:Message",
"descriptor": "chunter:viewlet:Chat",
"open": "X",
"config": {}
}
},
{
"_id": "610ea19d8112f14a381cfa37",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "610ea19d8112f14a381cfa38",
"objectClass": "workbench:class:Application",
"objectSpace": "core:space:Model",
"modifiedOn": 1628348829514,
"modifiedBy": "core:account:System",
"attributes": {
"label": "chunter:string:ApplicationLabelChunter",
"icon": "chunter:icon:Chunter",
"navigatorModel": {
"spaces": [
{
"label": "chunter:string:Channels",
"spaceClass": "chunter:class:Channel",
"addSpaceLabel": "chunter:string:CreateChannel",
"createComponent": "chunter:component:CreateChannel"
}
]
}
}
},
{
"_id": "610ea19d8112f14a381cfa39",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "610ea19d8112f14a381cfa3a",
"objectClass": "chunter:class:Channel",
"objectSpace": "core:space:Model",
"modifiedOn": 1628348829514,
"modifiedBy": "core:account:System",
"attributes": {
"name": "general",
"description": "General Channel",
"private": false,
"members": []
}
},
{
"_id": "610ea19d8112f14a381cfa3b",
"_class": "core:class:TxCreateDoc",
"space": "core:space:Tx",
"objectId": "610ea19d8112f14a381cfa3c",
"objectClass": "chunter:class:Channel",
"objectSpace": "core:space:Model",
"modifiedOn": 1628348829514,
"modifiedBy": "core:account:System",
"attributes": {
"name": "random",
"description": "Random Talks",
"private": false,
"members": []
}
}
]
+2 -1
View File
@@ -25,6 +25,7 @@
"@anticrm/model-view": "~0.6.0",
"@anticrm/model-workbench": "~0.6.0",
"@anticrm/model-contact": "~0.6.0",
"@anticrm/model-task": "~0.6.0"
"@anticrm/model-task": "~0.6.0",
"@anticrm/model-chunter": "~0.6.0"
}
}
+2 -2
View File
@@ -20,7 +20,7 @@ import { createModel as viewModel } from '@anticrm/model-view'
import { createModel as workbenchModel } from '@anticrm/model-workbench'
import { createModel as contactModel } from '@anticrm/model-contact'
import { createModel as taskModel } from '@anticrm/model-task'
// import { createModel as chunterModel } from '@anticrm/model-chunter'
import { createModel as chunterModel } from '@anticrm/model-chunter'
// import { createModel as recruitModel } from '@anticrm/model-recruit'
// import { createDemo } from '@anticrm/model-demo'
@@ -31,8 +31,8 @@ coreModel(builder)
viewModel(builder)
workbenchModel(builder)
contactModel(builder)
chunterModel(builder)
taskModel(builder)
// chunterModel(builder)
// recruitModel(builder)
// createDemo(builder)
+6
View File
@@ -0,0 +1,6 @@
module.exports = {
extends: ['./node_modules/@anticrm/model-rig/profiles/default/config/eslint.config.json'],
parserOptions: {
project: './tsconfig.json'
}
}
+4
View File
@@ -0,0 +1,4 @@
*
!/lib/**
!CHANGELOG.md
/lib/**/__tests__/
+18
View File
@@ -0,0 +1,18 @@
// The "rig.json" file directs tools to look for their config files in an external package.
// Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package
{
"$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json",
/**
* (Required) The name of the rig package to inherit from.
* It should be an NPM package name with the "-rig" suffix.
*/
"rigPackageName": "@anticrm/model-rig"
/**
* (Optional) Selects a config profile from the rig package. The name must consist of
* lowercase alphanumeric words separated by hyphens, for example "sample-profile".
* If omitted, then the "default" profile will be used."
*/
// "rigProfile": "your-profile-name"
}
+31
View File
@@ -0,0 +1,31 @@
{
"name": "@anticrm/model-chunter",
"version": "0.6.0",
"main": "lib/index.js",
"author": "Anticrm Platform Contributors",
"license": "EPL-2.0",
"scripts": {
"build": "heft build",
"lint:fix": "eslint --fix src"
},
"devDependencies": {
"@anticrm/model-rig":"~0.6.0",
"@typescript-eslint/eslint-plugin":"4",
"eslint-plugin-import":"2",
"eslint-plugin-promise":"4",
"eslint-plugin-node":"11",
"eslint":"^7.32.0"
},
"dependencies": {
"@anticrm/core": "~0.6.7",
"@anticrm/model": "~0.6.0",
"@anticrm/ui": "~0.6.0",
"@anticrm/view": "~0.6.0",
"@anticrm/chunter": "~0.6.0",
"@anticrm/chunter-resources": "~0.6.0",
"@anticrm/platform": "~0.6.3",
"@anticrm/model-core": "~0.6.0",
"@anticrm/model-view": "~0.6.0",
"@anticrm/model-workbench": "~0.6.0"
}
}
+92
View File
@@ -0,0 +1,92 @@
//
// Copyright © 2020, 2021 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import type { IntlString } from '@anticrm/platform'
import { Builder, Model, UX } from '@anticrm/model'
import type { Ref, Doc, Class } from '@anticrm/core'
import core, { TSpace, TDoc } from '@anticrm/model-core'
import type { Backlink, Channel, Message } from '@anticrm/chunter'
import type { AnyComponent } from '@anticrm/ui'
import workbench from '@anticrm/model-workbench'
import view from '@anticrm/model-view'
import chunter from './plugin'
@Model(chunter.class.Channel, core.class.Space)
@UX(chunter.string.Channel, chunter.icon.Hashtag)
export class TChannel extends TSpace implements Channel {}
@Model(chunter.class.Message, core.class.Doc)
export class TMessage extends TDoc implements Message {
content!: string
}
@Model(chunter.class.Backlink, core.class.Doc)
export class TBacklink extends TDoc implements Backlink {
objectId!: Ref<Doc>
backlinkId!: Ref<Doc>
backlinkClass!: Ref<Class<Doc>>
message!: string
}
export function createModel (builder: Builder): void {
builder.createModel(TChannel, TMessage, TBacklink)
builder.mixin(chunter.class.Channel, core.class.Class, workbench.mixin.SpaceView, {
view: {
class: chunter.class.Message
}
})
builder.createDoc(view.class.ViewletDescriptor, core.space.Model, {
label: 'Chat' as IntlString,
icon: view.icon.Table,
component: chunter.component.ChannelView
}, chunter.viewlet.Chat)
builder.createDoc(view.class.Viewlet, core.space.Model, {
attachTo: chunter.class.Message,
descriptor: chunter.viewlet.Chat,
open: 'X' as AnyComponent,
config: {}
})
builder.createDoc(workbench.class.Application, core.space.Model, {
label: chunter.string.ApplicationLabelChunter,
icon: chunter.icon.Chunter,
navigatorModel: {
spaces: [
{
label: chunter.string.Channels,
spaceClass: chunter.class.Channel,
addSpaceLabel: chunter.string.CreateChannel,
createComponent: chunter.component.CreateChannel
}
]
}
})
builder.createDoc(chunter.class.Channel, core.space.Model, {
name: 'general',
description: 'General Channel',
private: false,
members: []
})
builder.createDoc(chunter.class.Channel, core.space.Model, {
name: 'random',
description: 'Random Talks',
private: false,
members: []
})
}
+30
View File
@@ -0,0 +1,30 @@
//
// Copyright © 2020 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import { chunterId } from '@anticrm/chunter'
import chunter from '@anticrm/chunter-resources/src/plugin'
import type { IntlString } from '@anticrm/platform'
import { mergeIds } from '@anticrm/platform'
import type { Ref } from '@anticrm/core'
import { ViewletDescriptor } from '@anticrm/view'
export default mergeIds(chunterId, chunter, {
string: {
ApplicationLabelChunter: '' as IntlString
},
viewlet: {
Chat: '' as Ref<ViewletDescriptor>
}
})
+8
View File
@@ -0,0 +1,8 @@
{
"extends": "./node_modules/@anticrm/model-rig/profiles/default/tsconfig.json",
"compilerOptions": {
"rootDir": "./src",
"outDir": "./lib",
}
}
+11 -4
View File
@@ -15,6 +15,7 @@
import type { Doc, Ref, Class } from './classes'
import type { Tx } from './tx'
import { TxOperations } from './tx'
import type { Storage, DocumentQuery, FindOptions, FindResult } from './storage'
import { Hierarchy } from './hierarchy'
@@ -31,16 +32,14 @@ export type TxHander = (tx: Tx) => void
/**
* @public
*/
export interface Client extends Storage {
export interface Client extends TxOperations {
getHierarchy: () => Hierarchy
}
class ClientImpl implements Storage, Client {
class ClientStorage implements Storage {
constructor (private readonly hierarchy: Hierarchy, private readonly model: ModelDb, private readonly conn: Storage) {
}
getHierarchy (): Hierarchy { return this.hierarchy }
async findAll<T extends Doc>(
_class: Ref<Class<T>>,
query: DocumentQuery<T>,
@@ -58,6 +57,14 @@ class ClientImpl implements Storage, Client {
}
}
class ClientImpl extends TxOperations {
constructor (private readonly hierarchy: Hierarchy, model: ModelDb, conn: Storage) {
super(new ClientStorage(hierarchy, model, conn), core.account.System)
}
getHierarchy (): Hierarchy { return this.hierarchy }
}
/**
* @public
*/
+2 -2
View File
@@ -16,7 +16,7 @@
import {
Ref, Class, Doc, Tx, DocumentQuery, TxCreateDoc, TxRemoveDoc, Client,
FindOptions, TxUpdateDoc, _getOperator, TxProcessor, resultSort, SortingQuery,
FindResult, Hierarchy, Refs, WithLookup, LookupData
FindResult, Hierarchy, Refs, WithLookup, LookupData, Storage
} from '@anticrm/core'
/**
@@ -33,7 +33,7 @@ export interface _Query {
/**
* @public
*/
export class LiveQuery extends TxProcessor implements Client {
export class LiveQuery extends TxProcessor implements Storage {
private readonly client: Client
private readonly queries: _Query[] = []
+13
View File
@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="chunter" viewBox="0 0 32 32">
<path d="M25.9,14.6C25.7,9.8,21.9,6,17,5.7h-0.5c0,0,0,0,0,0c-1.4,0-2.9,0.3-4.2,1c-3.2,1.6-5.2,4.8-5.2,8.4c0,1.4,0.3,2.7,0.9,4 l-1.9,5.7c-0.1,0.2,0,0.5,0.1,0.6c0.1,0.1,0.3,0.2,0.4,0.2c0.1,0,0.1,0,0.2,0l5.7-1.9c1.2,0.6,2.6,0.9,4,0.9c0,0,0,0,0,0 c3.6,0,6.8-2,8.4-5.2c0.7-1.3,1-2.8,1-4.2L25.9,14.6z M24.7,15.1C24.7,15.1,24.7,15.1,24.7,15.1c0,1.3-0.3,2.5-0.9,3.7 c-1.4,2.8-4.2,4.5-7.3,4.5c0,0,0,0,0,0c-1.3,0-2.5-0.3-3.6-0.9c-0.1-0.1-0.3-0.1-0.5,0l-4.8,1.6l1.6-4.8c0.1-0.2,0-0.3,0-0.5 c-0.6-1.1-0.9-2.4-0.9-3.7c0-3.1,1.7-5.9,4.5-7.3c1.1-0.6,2.4-0.9,3.6-0.9c0,0,0,0,0,0l0.5,0c4.2,0.2,7.5,3.6,7.7,7.7V15.1z"/>
</symbol>
<symbol id="hashtag" viewBox="0 0 16 16">
<path d="M14,9.6h-3.2l0.4-3.2H14c0.3,0,0.6-0.3,0.6-0.6S14.3,5.2,14,5.2h-2.7l0.4-3.7c0-0.3-0.2-0.6-0.5-0.7 c-0.3,0-0.6,0.2-0.7,0.5l-0.4,3.8H6.9l0.4-3.7c0-0.3-0.2-0.6-0.5-0.7c-0.3,0-0.6,0.2-0.7,0.5L5.7,5.2H2.3C2,5.2,1.7,5.5,1.7,5.8 S2,6.4,2.3,6.4h3.2L5.2,9.6H2.3c-0.3,0-0.6,0.3-0.6,0.6s0.3,0.6,0.6,0.6h2.7l-0.4,3.7c0,0.3,0.2,0.6,0.5,0.7c0,0,0,0,0.1,0 c0.3,0,0.6-0.2,0.6-0.5l0.4-3.8h3.2L9,14.5c0,0.3,0.2,0.6,0.5,0.7c0,0,0,0,0.1,0c0.3,0,0.6-0.2,0.6-0.5l0.4-3.8H14 c0.3,0,0.6-0.3,0.6-0.6S14.3,9.6,14,9.6z M6.4,9.6l0.4-3.2h3.2L9.6,9.6H6.4z"/>
</symbol>
<symbol id="lock" viewBox="0 0 16 16">
<path d="M13,6.9h-1.1V4.8c0-2.2-1.8-3.9-3.9-3.9c-2.2,0-3.9,1.8-3.9,3.9v2.1H3c-0.9,0-1.6,0.7-1.6,1.6v5.3 c0,0.9,0.7,1.6,1.6,1.6h10c0.9,0,1.6-0.7,1.6-1.6V8.5C14.6,7.6,13.9,6.9,13,6.9z M5.3,4.8c0-1.5,1.2-2.7,2.7-2.7s2.7,1.2,2.7,2.7 v2.1H5.3V4.8z M13.4,13.8c0,0.2-0.2,0.4-0.4,0.4H3c-0.2,0-0.4-0.2-0.4-0.4V8.5c0-0.2,0.2-0.4,0.4-0.4h10c0.2,0,0.4,0.2,0.4,0.4V13.8 z"/>
</symbol>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+21
View File
@@ -0,0 +1,21 @@
{
"name": "@anticrm/chunter-assets",
"version": "0.6.0",
"main": "src/index.ts",
"author": "Anticrm Platform Contributors",
"license": "EPL-2.0",
"scripts": {
"build": "",
"build:docs": "api-extractor run --local",
"test": "echo 'no tests'",
"lint": "ts-standard src",
"lint:fix": "ts-standard --fix src",
"format": "prettier --write 'src/**/*.{ts*,js*,yml}' && ts-standard --fix src"
},
"devDependencies": {
},
"dependencies": {
"@anticrm/platform":"~0.6.3",
"@anticrm/chunter":"~0.6.0"
}
}
+24
View File
@@ -0,0 +1,24 @@
//
// Copyright © 2020 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import { loadMetadata } from '@anticrm/platform'
import chunter from '@anticrm/chunter'
const icons = require('../assets/icons.svg')
loadMetadata(chunter.icon, {
Chunter: `${icons}#chunter`,
Hashtag: `${icons}#hashtag`,
Lock: `${icons}#lock`
})
+15
View File
@@ -0,0 +1,15 @@
{
"compilerOptions": {
"moduleResolution": "node",
"target": "esnext",
"module": "esnext",
"declaration": true,
"outDir": "./lib",
"strict": true,
"esModuleInterop": true,
"lib": [
"esnext",
"dom"
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

+30
View File
@@ -0,0 +1,30 @@
{
"name": "@anticrm/chunter-resources",
"version": "0.6.0",
"main": "src/index.ts",
"author": "Anticrm Platform Contributors",
"license": "EPL-2.0",
"scripts": {
"build": "",
"build:docs": "api-extractor run --local",
"test": "jest",
"lint": "eslint src",
"lint:fix": "eslint --fix src",
"format": "prettier --write 'src/**/*.{ts*,js*,yml}' && eslint --fix src",
"svelte-check": "svelte-check"
},
"devDependencies": {
"svelte-loader":"^3.1.2",
"sass":"^1.37.5",
"svelte-preprocess":"^4.7.4"
},
"dependencies": {
"@anticrm/core":"~0.6.0",
"@anticrm/platform":"~0.6.0",
"@anticrm/ui":"~0.6.0",
"@anticrm/presentation":"~0.6.0",
"@anticrm/chunter":"~0.6.0",
"svelte":"^3.37.0",
"@anticrm/text-editor":"~0.6.0"
}
}
@@ -0,0 +1,5 @@
module.exports = {
plugins: [
require('autoprefixer')
]
}
@@ -0,0 +1,46 @@
<!--
// Copyright © 2020 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
-->
<script lang="ts">
import type { Ref, Space } from '@anticrm/core'
import { createQuery } from '@anticrm/presentation'
import type { Message } from '@anticrm/chunter'
import chunter from '../plugin'
import { default as MessageComponent } from './Message.svelte'
export let space: Ref<Space> | undefined
let messages: Message[] | undefined
const query = createQuery()
$: query.query(chunter.class.Message, { space }, result => { messages = result })
</script>
<div class="channel-container">
{#if messages}
{#each messages as message}
<MessageComponent {message}/>
{/each}
{/if}
</div>
<style lang="scss">
.channel-container {
display: flex;
flex-direction: column;
flex-shrink: 0;
}
</style>
@@ -0,0 +1,73 @@
<!--
// Copyright © 2020 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
-->
<script lang="ts">
import { IntlString } from "@anticrm/status"
export let title: IntlString
export let line: boolean = false
</script>
<div class="separator-container" class:line={line}>
<div class="title">{title}</div>
</div>
<style lang="scss">
.separator-container {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 28px;
margin-bottom: 32px;
.title {
position: relative;
padding: 6px 12px;
font-weight: 600;
font-size: 12px;
letter-spacing: .5px;
text-transform: uppercase;
color: var(--theme-content-trans-color);
z-index: 1;
&::before {
position: absolute;
content: '';
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 20px;
background-color: var(--theme-chat-divider);
z-index: -1;
}
}
&.line {
position: relative;
width: 100%;
&::before {
position: absolute;
content: '';
top: 50%;
left: 0;
width: 100%;
height: 1px;
background-color: var(--theme-chat-divider);
}
}
}
</style>
@@ -0,0 +1,55 @@
<!--
// Copyright © 2020 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
-->
<script lang="ts">
import type { Ref, Space } from '@anticrm/core'
import { TxOperations } from '@anticrm/core'
import chunter from '../plugin'
import { getClient } from '@anticrm/presentation'
import Channel from './Channel.svelte'
import { ReferenceInput } from '@anticrm/text-editor'
export let space: Ref<Space>
const client = new TxOperations(getClient())
function onMessage(event: CustomEvent) {
client.createDoc(chunter.class.Message, space, {
content: event.detail
})
}
</script>
<div class="msg-board">
<Channel {space} />
</div>
<div class="reference">
<ReferenceInput on:message={onMessage}/>
</div>
<style lang="scss">
.msg-board {
display: flex;
flex-direction: column;
flex-grow: 1;
margin: 15px 15px 0px;
padding: 25px 25px 0px;
overflow: auto;
}
.reference {
margin: 20px 40px;
}
</style>
@@ -0,0 +1,69 @@
<!--
// Copyright © 2020 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
-->
<script lang="ts">
import { createEventDispatcher } from 'svelte'
import { TextArea, EditBox, Dialog, ToggleWithLabel, Grid, Section, IconToDo, CheckBoxList } from '@anticrm/ui'
import { getClient } from '@anticrm/presentation'
import chunter from '../plugin'
import core from '@anticrm/core'
const dispatch = createEventDispatcher()
let name: string = ''
let description: string = ''
const client = getClient()
function createChannel() {
client.createDoc(chunter.class.Channel, core.space.Model, {
name,
description,
private: false
})
}
</script>
<Dialog label={chunter.string.CreateChannel}
okLabel={chunter.string.CreateChannel}
okAction={createChannel}
on:close={() => { dispatch('close') }}>
<Grid column={1}>
<EditBox label={chunter.string.ChannelName} bind:value={name} focus/>
<TextArea label={chunter.string.ChannelDescription} bind:value={description}/>
<ToggleWithLabel label={chunter.string.MakePrivate} description={chunter.string.MakePrivateDescription}/>
</Grid>
<Section icon={IconToDo} label={`To Do's`}>
<CheckBoxList label={'Add a To Do'} editable />
</Section>
</Dialog>
<style lang="scss">
.content {
display: grid;
grid-template-columns: 1fr 1fr;
row-gap: 20px;
.row {
grid-column-start: 1;
grid-column-end: 3;
}
}
</style>
@@ -0,0 +1,155 @@
<!--
// Copyright © 2020 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
-->
<script lang="ts">
import type { Message } from '@anticrm/chunter'
import { ActionIcon } from '@anticrm/ui'
import Emoji from './icons/Emoji.svelte'
import Share from './icons/Share.svelte'
import Bookmark from './icons/Bookmark.svelte'
import MoreH from './icons/MoreH.svelte'
import Reactions from './Reactions.svelte'
import Replies from './Replies.svelte'
import avatar from '../../img/avatar.png'
import { MessageViewer } from '@anticrm/presentation'
export let message: Message
let name: string
let time: string
let reactions: boolean = false
let replies: boolean = false
let thread: boolean = false
</script>
<div class="message-container">
<div class="avatar"><img src={avatar} alt="Avatar"></div>
<div class="message">
<div class="header">{name}<span>{time}</span></div>
<div class="text"><MessageViewer message={message.content}/></div>
{#if (reactions || replies) && !thread}
<div class="footer">
<div>{#if reactions}<Reactions/>{/if}</div>
<div>{#if replies}<Replies/>{/if}</div>
</div>
{/if}
</div>
{#if !thread}
<div class="buttons">
<div class="tool"><ActionIcon icon={MoreH} size={'medium'} direction={'left'}/></div>
<div class="tool"><ActionIcon icon={Bookmark} size={'medium'} direction={'left'}/></div>
<div class="tool"><ActionIcon icon={Share} size={'medium'} direction={'left'}/></div>
<div class="tool"><ActionIcon icon={Emoji} size={'medium'} direction={'left'}/></div>
</div>
{/if}
</div>
<style lang="scss">
.message-container {
position: relative;
display: flex;
margin-bottom: 32px;
z-index: 1;
.avatar {
min-width: 36px;
width: 36px;
height: 36px;
background-color: var(--theme-bg-accent-color);
border-radius: 50%;
user-select: none;
}
.message {
display: flex;
flex-direction: column;
width: 100%;
margin-left: 16px;
.header {
font-weight: 500;
font-size: 16px;
line-height: 150%;
color: var(--theme-caption-color);
margin-bottom: 4px;
span {
margin-left: 8px;
font-weight: 400;
font-size: 14px;
line-height: 18px;
opacity: .4;
}
}
.text {
line-height: 150%;
}
.footer {
display: flex;
justify-content: space-between;
align-items: center;
height: 32px;
margin-top: 8px;
user-select: none;
div + div {
margin-left: 16px;
}
}
}
.buttons {
position: absolute;
visibility: hidden;
top: -8px;
right: -8px;
display: flex;
flex-direction: row-reverse;
user-select: none;
.tool {
display: flex;
justify-content: center;
align-items: center;
width: 20px;
height: 20px;
}
.tool + .tool {
margin-right: 8px;
}
}
&:hover > .buttons {
visibility: visible;
}
&:hover::before {
content: '';
}
&::before {
position: absolute;
top: -20px;
left: -20px;
width: calc(100% + 40px);
height: calc(100% + 40px);
background-color: var(--theme-button-bg-enabled);
border: 1px solid var(--theme-bg-accent-color);
border-radius: 12px;
z-index: -1;
}
}
</style>
@@ -0,0 +1,63 @@
<!--
// Copyright © 2020 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
-->
<script lang="ts">
import type { AnySvelteComponent } from '@anticrm/ui'
import Check from './icons/Check.svelte'
import Heart from './icons/Heart.svelte'
interface Reaction {
icon: AnySvelteComponent
count: number
}
export let reactions: Reaction[] = [{ icon: Check, count: 3}, { icon: Heart, count: 10}]
</script>
<div class="reactions-container">
{#each reactions as reaction}
<div class="reaction">
<div class="icon"><svelte:component this={reaction.icon} size={'medium'}/></div>
<div class="counter">{reaction.count}</div>
</div>
{/each}
</div>
<style lang="scss">
.reactions-container {
display: flex;
user-select: none;
.reaction {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
.icon {
width: 20px;
height: 20px;
}
.counter {
margin-left: 4px;
color: var(--theme-caption-color);
}
}
.reaction + .reaction {
margin-left: 16px;
}
}
</style>
@@ -0,0 +1,95 @@
<!--
// Copyright © 2020 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
-->
<script lang="ts">
import avatar from '../../img/avatar.png'
export let replies: string[] = ['Chen', 'Elon', 'Tim', 'Elon', 'Tim', 'Chen']
let shown: number = 4
let showReplies: Array<string> = []
for (let i = 0; i < shown; i++) {
showReplies.push(replies[i])
}
</script>
<div class="replies-container">
<div class="counter">{replies.length} Replies</div>
<div class="replies">
{#each showReplies as reply}
<div class="reply"><img class="circle" src={avatar} alt={reply}></div>
{/each}
{#if replies.length > shown}
<div class="reply"><span>+{replies.length - shown}</span></div>
{/if}
</div>
</div>
<style lang="scss">
.replies-container {
display: flex;
flex-wrap: nowrap;
align-items: center;
user-select: none;
.counter {
margin-right: 12px;
line-height: 150%;
color: var(--theme-content-color);
white-space: nowrap;
}
.replies {
display: flex;
flex-wrap: nowrap;
align-items: center;
.reply {
display: flex;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
background-color: var(--theme-bg-color);
border-radius: 50%;
margin-right: -10px;
.circle {
width: 28px;
height: 28px;
border-radius: 50%;
}
span {
display: flex;
justify-content: center;
align-items: center;
width: 28px;
height: 28px;
font-size: 12px;
font-weight: 500;
line-height: .5;
color: var(--theme-caption-color);
background-color: var(--theme-bg-selection);
border-radius: 50%;
}
&:last-child {
margin-right: 0;
}
}
}
}
</style>
@@ -0,0 +1,11 @@
<script lang="ts">
import { IconSize } from '@anticrm/ui'
export let size: 'small' | 'medium' | 'large'
const fill: string = 'var(--theme-caption-color)'
</script>
<IconSize {size}>
<svg {fill} viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path d="M16.2,18c-0.1,0-0.2,0-0.3-0.1l-6-4l-6,4c-0.2,0.1-0.4,0.1-0.5,0c-0.2-0.1-0.3-0.3-0.3-0.4V4.2 C3.2,3,4.3,2,5.5,2h8.9c1.3,0,2.3,1,2.3,2.2v13.3c0,0.2-0.1,0.4-0.3,0.4C16.4,18,16.3,18,16.2,18z M10,12.8c0.1,0,0.2,0,0.3,0.1 l5.5,3.6V4.2c0-0.6-0.6-1.2-1.3-1.2H5.5C4.8,3,4.2,3.5,4.2,4.2v12.4l5.5-3.6C9.8,12.9,9.9,12.8,10,12.8z"/>
</svg>
</IconSize>
@@ -0,0 +1,11 @@
<script lang="ts">
import { IconSize } from '@anticrm/ui'
export let size: 'small' | 'medium' | 'large'
</script>
<IconSize {size}>
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path fill={'#27B166'} d="M10.1,1C5.2,0.9,1.1,4.9,1,9.8V10c0,5,4,9,9,9c4.9,0,9-4,9-8.9C19,5.1,15.1,1.1,10.1,1z"/>
<polygon fill={'#FCFCFC'} points="8.5,14.3 5.4,11.1 6.6,9.9 8.5,11.7 13.9,6.4 15.1,7.6 "/>
</svg>
</IconSize>
@@ -0,0 +1,11 @@
<script lang="ts">
import { IconSize } from '@anticrm/ui'
export let size: 'small' | 'medium' | 'large'
const fill: string = 'var(--theme-caption-color)'
</script>
<IconSize {size}>
<svg viewBox="0 0 24 24" {fill} xmlns="http://www.w3.org/2000/svg">
<path d="M12.8,12l7.6-7.6c0.2-0.2,0.2-0.6,0-0.8s-0.6-0.2-0.8,0L12,11.2L4.4,3.6c-0.2-0.2-0.6-0.2-0.8,0s-0.2,0.6,0,0.8 l7.6,7.6l-7.6,7.6c-0.2,0.2-0.2,0.6,0,0.8c0.1,0.1,0.3,0.2,0.4,0.2s0.3-0.1,0.4-0.2l7.6-7.6l7.6,7.6c0.1,0.1,0.3,0.2,0.4,0.2 s0.3-0.1,0.4-0.2c0.2-0.2,0.2-0.6,0-0.8L12.8,12z"/>
</svg>
</IconSize>
@@ -0,0 +1,27 @@
<!--
// Copyright © 2020, 2021 Anticrm Platform Contributors.
// Copyright © 2021 Hardcore Engineering Inc.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
-->
<script lang="ts">
import { IconSize } from '@anticrm/ui'
export let size: 'small' | 'medium' | 'large'
const fill: string = 'var(--theme-caption-color)'
</script>
<IconSize {size}>
<svg {fill} viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path d="M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM7.15467 12.4273C8.66416 13.9463 11.0877 14.0045 12.6671 12.5961L12.8453 12.4273C13.04 12.2314 13.3566 12.2304 13.5524 12.4251C13.7265 12.5981 13.7467 12.8674 13.6123 13.0627L13.5547 13.1322L13.5323 13.1545C11.5691 15.1054 8.39616 15.0953 6.44533 13.1322C6.25069 12.9363 6.25169 12.6197 6.44757 12.4251C6.64344 12.2304 6.96002 12.2314 7.15467 12.4273ZM12.5 7.5C13.0523 7.5 13.5 7.94772 13.5 8.5C13.5 9.05228 13.0523 9.5 12.5 9.5C11.9477 9.5 11.5 9.05228 11.5 8.5C11.5 7.94772 11.9477 7.5 12.5 7.5ZM7.5 7.5C8.05228 7.5 8.5 7.94772 8.5 8.5C8.5 9.05228 8.05228 9.5 7.5 9.5C6.94772 9.5 6.5 9.05228 6.5 8.5C6.5 7.94772 6.94772 7.5 7.5 7.5Z"/>
</svg>
</IconSize>
@@ -0,0 +1,10 @@
<script lang="ts">
import { IconSize } from '@anticrm/ui'
export let size: 'small' | 'medium' | 'large'
</script>
<IconSize {size}>
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path fill={'#F96E50'} d="M1,6.8c0-1.3,0.5-2.6,1.5-3.5c0.9-0.9,2.2-1.4,3.5-1.4c1.6,0,3,0.6,4.1,1.8c1-1.2,2.5-1.8,4.1-1.8 c1.3,0,2.6,0.5,3.5,1.4C18.5,4.2,19,5.5,19,6.8c0,4.8-5.8,8.5-9,11.3C6.7,15.2,1,11.6,1,6.8z"/>
</svg>
</IconSize>
@@ -0,0 +1,13 @@
<script lang="ts">
import { IconSize } from '@anticrm/ui'
export let size: 'small' | 'medium' | 'large'
const fill: string = 'var(--theme-caption-color)'
</script>
<IconSize {size}>
<svg {fill} viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M11.8,10.3c-1,0-1.8,0.8-1.8,1.7s0.8,1.7,1.8,1.7c1,0,1.8-0.8,1.8-1.7S12.7,10.3,11.8,10.3z"/>
<path d="M18,10.3c-1,0-1.8,0.8-1.8,1.7s0.8,1.7,1.8,1.7c1,0,1.8-0.8,1.8-1.7S18.9,10.3,18,10.3z"/>
<path d="M5.5,10.3c-1,0-1.8,0.8-1.8,1.7s0.8,1.7,1.8,1.7c1,0,1.8-0.8,1.8-1.7S6.5,10.3,5.5,10.3z"/>
</svg>
</IconSize>
@@ -0,0 +1,12 @@
<script lang="ts">
import { IconSize } from '@anticrm/ui'
export let size: 'small' | 'medium' | 'large'
const fill: string = 'var(--theme-caption-color)'
</script>
<IconSize {size}>
<svg {fill} viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path d="M16.7,9.5c-0.3,0-0.5,0.2-0.5,0.5v6.2c0,0.6-0.5,1.1-1.2,1.1H5c-0.6,0-1.2-0.5-1.2-1.1V10 c0-0.3-0.2-0.5-0.5-0.5S2.8,9.7,2.8,10v6.2c0,1.1,1,2.1,2.2,2.1h10c1.2,0,2.2-0.9,2.2-2.1V10C17.2,9.7,17,9.5,16.7,9.5z"/>
<path d="M7.7,6.2l2.1-2v8.1c0,0.3,0.2,0.5,0.5,0.5s0.5-0.2,0.5-0.5V4.2l2,2c0.1,0.1,0.2,0.1,0.4,0.1 c0.1,0,0.3,0,0.4-0.1c0.2-0.2,0.2-0.5,0-0.7l-2.9-2.9c0-0.1-0.1-0.1-0.2-0.1c0,0-0.1,0-0.1,0c0,0-0.1,0-0.1,0c0,0,0,0,0,0 c-0.1,0-0.3,0-0.4,0.1L7,5.5C6.8,5.7,6.8,6,7,6.2C7.2,6.4,7.5,6.4,7.7,6.2z"/>
</svg>
</IconSize>
+24
View File
@@ -0,0 +1,24 @@
//
// Copyright © 2020 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import CreateChannel from './components/CreateChannel.svelte'
import ChannelView from './components/ChannelView.svelte'
export default async () => ({
component: {
CreateChannel,
ChannelView
}
})
+41
View File
@@ -0,0 +1,41 @@
//
// Copyright © 2020 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import { mergeIds } from '@anticrm/platform'
import type { IntlString } from '@anticrm/platform'
import type { Ref, Class } from '@anticrm/core'
import type { Channel, Message } from '@anticrm/chunter'
import type { AnyComponent } from '@anticrm/ui'
import chunter, { chunterId } from '@anticrm/chunter'
export default mergeIds(chunterId, chunter, {
component: {
CreateChannel: '' as AnyComponent,
ChannelView: '' as AnyComponent
},
class: {
Channel: '' as Ref<Class<Channel>>,
},
string: {
Channel: '' as IntlString,
Channels: '' as IntlString,
CreateChannel: '' as IntlString,
ChannelName: '' as IntlString,
ChannelDescription: '' as IntlString,
MakePrivate: '' as IntlString,
MakePrivateDescription: '' as IntlString,
}
})
@@ -0,0 +1,5 @@
const sveltePreprocess = require('svelte-preprocess')
module.exports = {
preprocess: sveltePreprocess()
};
+15
View File
@@ -0,0 +1,15 @@
{
"compilerOptions": {
"moduleResolution": "node",
"target": "esnext",
"module": "esnext",
"declaration": true,
"outDir": "./lib",
"strict": true,
"esModuleInterop": true,
"lib": [
"esnext",
"dom"
]
}
}
+6
View File
@@ -0,0 +1,6 @@
module.exports = {
extends: ['./node_modules/@anticrm/platform-rig/profiles/default/config/eslint.config.json'],
parserOptions: {
project: './tsconfig.json'
}
}
+4
View File
@@ -0,0 +1,4 @@
*
!/lib/**
!CHANGELOG.md
/lib/**/__tests__/
+18
View File
@@ -0,0 +1,18 @@
// The "rig.json" file directs tools to look for their config files in an external package.
// Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package
{
"$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json",
/**
* (Required) The name of the rig package to inherit from.
* It should be an NPM package name with the "-rig" suffix.
*/
"rigPackageName": "@anticrm/platform-rig"
/**
* (Optional) Selects a config profile from the rig package. The name must consist of
* lowercase alphanumeric words separated by hyphens, for example "sample-profile".
* If omitted, then the "default" profile will be used."
*/
// "rigProfile": "your-profile-name"
}
+24
View File
@@ -0,0 +1,24 @@
{
"name": "@anticrm/chunter",
"version": "0.6.0",
"main": "lib/index.js",
"author": "Anticrm Platform Contributors",
"license": "EPL-2.0",
"scripts": {
"build": "heft build",
"lint:fix": "eslint --fix src"
},
"devDependencies": {
"@anticrm/platform-rig":"~0.6.0",
"@types/heft-jest":"^1.0.2",
"@typescript-eslint/eslint-plugin":"4",
"eslint-plugin-import":"2",
"eslint-plugin-promise":"4",
"eslint-plugin-node":"11",
"eslint":"^7.32.0"
},
"dependencies": {
"@anticrm/platform":"~0.6.3",
"@anticrm/core":"~0.6.3"
}
}
+60
View File
@@ -0,0 +1,60 @@
//
// Copyright © 2020, 2021 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import { plugin } from '@anticrm/platform'
import type { Asset, Plugin } from '@anticrm/platform'
import type { Space, Doc, Ref, Class } from '@anticrm/core'
/**
* @public
*/
export interface Channel extends Space {}
/**
* @public
*/
export interface Message extends Doc {
content: string
}
/**
* @public
*/
export interface Backlink extends Doc {
objectId: Ref<Doc>
backlinkId: Ref<Doc>
backlinkClass: Ref<Class<Doc>>
message: string
}
/**
* @public
*/
export const chunterId = 'chunter' as Plugin
export default plugin(chunterId, {
icon: {
Chunter: '' as Asset,
Hashtag: '' as Asset,
Lock: '' as Asset
},
class: {
Message: '' as Ref<Class<Message>>,
Backlink: '' as Ref<Class<Backlink>>
},
space: {
Backlinks: '' as Ref<Space>
}
})
+9
View File
@@ -0,0 +1,9 @@
{
"extends": "./node_modules/@anticrm/platform-rig/profiles/default/tsconfig.json",
"compilerOptions": {
"rootDir": "./src",
"outDir": "./lib",
"lib": ["esnext", "dom"]
}
}
+20
View File
@@ -636,5 +636,25 @@
"projectFolder": "packages/text-editor",
"shouldPublish": true
},
{
"packageName": "@anticrm/chunter",
"projectFolder": "plugins/chunter",
"shouldPublish": true
},
{
"packageName": "@anticrm/chunter-assets",
"projectFolder": "plugins/chunter-assets",
"shouldPublish": true
},
{
"packageName": "@anticrm/chunter-resources",
"projectFolder": "plugins/chunter-resources",
"shouldPublish": true
},
{
"packageName": "@anticrm/model-chunter",
"projectFolder": "models/chunter",
"shouldPublish": true
},
]
}