Skip to content

Commit

Permalink
create: steps staging & activity status panel
Browse files Browse the repository at this point in the history
  • Loading branch information
lucas committed Jun 26, 2024
1 parent ee5d953 commit 27e4cf5
Show file tree
Hide file tree
Showing 6 changed files with 1,560 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"data": {
"type": "card",
"attributes": {
"name": {
"salutation": "Mr.",
"firstName": "Chow",
"lastName": "Chow "
},
"company": "Chow Holding",
"title": "Lead Form - Chow Chow",
"website": "www.chow.com",
"description": "Description Here",
"leadStatus": "Qualified",
"phone": "0109090000",
"email": "chow@xxxx.com",
"addressInfo": {
"address": "14, Jalan Teknologi, Taman Sains",
"zip": "47810",
"city": "Petaling Jaya",
"state": "Selangor",
"country": "Malaysia",
"countryCode": "MY",
"stateCode": "10"
},
"noOfEmployees": 49.8,
"annualRevenue": {
"currency": "RM",
"totalAmount": 12000000
},
"leadSource": "Employee Referral",
"industry": "Banking",
"thumbnailURL": null
},
"meta": {
"adoptsFrom": {
"module": "../lead-form",
"name": "LeadForm"
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
{
"data": {
"type": "card",
"attributes": {
"leadForm": {
"name": {
"salutation": "Mr.",
"firstName": "Law",
"lastName": "Bom Bom"
},
"company": "lawbombom",
"title": "Lead Form - lawbombom",
"website": "lawbom.com",
"description": "this is lead-form",
"leadStatus": "Unqualified",
"phone": "010381997",
"email": "lawbombom@gmail.com",
"addressInfo": {
"address": "14, Jalan Teknologi, Taman Sains",
"zip": "47810",
"city": "Petaling Jaya",
"state": "Selangor",
"country": "Malaysia",
"countryCode": "MY",
"stateCode": "10"
},
"noOfEmployees": 10,
"annualRevenue": {
"currency": "RM",
"totalAmount": 125000
},
"leadSource": "Advertisement",
"industry": "Agriculture"
},
"contactForm": {
"name": {
"salutation": "Mr.",
"firstName": "Law",
"lastName": "Bom Bom"
},
"company": null,
"title": null,
"website": null,
"description": null,
"leadStatus": null,
"phone": null,
"email": null,
"addressInfo": {
"address": null,
"zip": null,
"city": null,
"state": null,
"country": null,
"countryCode": null,
"stateCode": null
},
"noOfEmployees": null,
"annualRevenue": {
"currency": null,
"totalAmount": null
},
"leadSource": null,
"industry": null
},
"scheduledTask": [],
"title": null,
"description": null,
"thumbnailURL": null
},
"meta": {
"adoptsFrom": {
"module": "../sale-hub",
"name": "SaleHub"
}
}
}
}
43 changes: 38 additions & 5 deletions packages/drafts-realm/contact-form.gts
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
import { UserName } from './user-name';
import { UserEmail } from './user-email';
import { AddressInfo } from './address-info';
import { CardDef, field, contains } from 'https://cardstack.com/base/card-api';
import {
CardDef,
field,
contains,
FieldDef,
} from 'https://cardstack.com/base/card-api';
import { Component } from 'https://cardstack.com/base/card-api';
import StringField from 'https://cardstack.com/base/string';
import { FieldContainer, CardContainer } from '@cardstack/boxel-ui/components';
Expand Down Expand Up @@ -134,19 +139,17 @@ class Isolated extends Component<typeof ContactForm> {

class View extends Component<typeof ContactForm> {
<template>
<CardContainer @displayBoundaries={{true}} class='container'>
<div class='container'>
<div class='content'>
<label>User</label>
<h2><@fields.name /></h2>
</div>
</CardContainer>
</div>

<style>
.container {
padding: var(--boxel-sp-lg);
display: grid;
gap: var(--boxel-sp);
background-color: #eeeeee50;
}
.content {
color: var(--boxel-700);
Expand Down Expand Up @@ -210,6 +213,36 @@ class Edit extends Component<typeof ContactForm> {
</template>
}

export class ContactFormField extends FieldDef {
@field title = contains(StringField, {
description: `Contact Form Title`,
});
@field name = contains(UserName, {
description: `User's Full Name`,
});
@field email = contains(UserEmail, {
description: `User's Email`,
});
@field phone = contains(StringField, {
description: `User's phone number`,
});
@field fax = contains(StringField, {
description: `User's Fax Number`,
});
@field department = contains(StringField, {
description: `User's Department`,
});
@field addressInfo = contains(AddressInfo, {
description: `User's AddressInfo`,
});

static displayName = 'Contact Form';
static isolated = Isolated;
static embedded = View;
static atom = View;
static edit = Edit;
}

export class ContactForm extends CardDef {
@field title = contains(StringField, {
description: `Contact Form Title`,
Expand Down
56 changes: 55 additions & 1 deletion packages/drafts-realm/lead-form.gts
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
import MarkdownField from 'https://cardstack.com/base/markdown';
import { CardDef, contains, field } from 'https://cardstack.com/base/card-api';
import {
CardDef,
FieldDef,
contains,
field,
} from 'https://cardstack.com/base/card-api';
import StringField from 'https://cardstack.com/base/string';
import NumberField from 'https://cardstack.com/base/number';
import { UserName } from './user-name';
Expand Down Expand Up @@ -447,6 +452,55 @@ class EditSecFoLeadForm extends Component<typeof LeadForm> {
</template>
}

export class LeadFormField extends FieldDef {
static displayName = 'Lead Form';

@field name = contains(UserName, {
description: `User's Full Name`,
});
@field company = contains(StringField, {
description: `User's Company Name`,
});
@field title = contains(StringField, {
description: `User's Title`,
});
@field website = contains(StringField, {
description: `User's Website`,
});
@field description = contains(MarkdownField, {
description: `User's Description`,
});
@field leadStatus = contains(StringField, {
description: `Lead Status`,
});
@field phone = contains(StringField, {
description: `User's phone number`,
});
@field email = contains(UserEmail, {
description: `User's Email`,
});
@field addressInfo = contains(AddressInfo, {
description: `User's AddressInfo`,
});
@field noOfEmployees = contains(NumberField, {
description: `No Of Employees`,
});
@field annualRevenue = contains(CurrencyAmount, {
description: `Annual Revenue`,
});
@field leadSource = contains(StringField, {
description: `Lead Source`,
});
@field industry = contains(StringField, {
description: `Industry`,
});

static isolated = IsolatedSecForLeadForm;
static atom = ViewSecForLeadForm;
static embedded = ViewSecForLeadForm;
static edit = EditSecFoLeadForm;
}

export class LeadForm extends CardDef {
static displayName = 'Lead Form';

Expand Down
37 changes: 35 additions & 2 deletions packages/drafts-realm/opportunity-form.gts
Original file line number Diff line number Diff line change
Expand Up @@ -191,12 +191,12 @@ class IsolatedSecForOpportunityForm extends Component<typeof OpportunityForm> {
<div class='field-input'>
<label>Percentage: </label>
{{this.getFormattedPercentage}}

</div>
<div class='field-input'>
<label>Forecast Category: </label>
{{this.getForestCategory}}
</div>

</div>
</div>

Expand Down Expand Up @@ -329,7 +329,7 @@ class EditSecForOpportunityForm extends Component<typeof OpportunityForm> {
}

<template>
<CardContainer @displayBoundaries={{false}} class='container'>
<CardContainer @displayBoundaries={{true}} class='container'>
<FieldContainer @tag='label' @label='Opportunity Name' @vertical={{true}}>
<@fields.opportunityName />
</FieldContainer>
Expand Down Expand Up @@ -424,6 +424,39 @@ class ViewSecForOpportunityForm extends Component<typeof OpportunityForm> {
</template>
}

export class OpportunityFormField extends FieldDef {
static displayName = 'Opportunity Form';
@field opportunityName = contains(StringField, {
description: `Opportunity Name`,
});
@field accountName = linksTo(CrmAccount, {
description: `Account Name`,
});
@field closeDate = contains(DateCard, {
description: `Close Date`,
});
@field amount = contains(AmountField, {
description: `Amount`,
});
@field description = contains(MarkdownField, {
description: `Description`,
});
@field stage = contains(StringField, {
description: `Stage`,
});
@field percentage = contains(NumberField, {
description: `Percentage`,
});
@field forecastCategory = contains(StringField, {
description: `Forecast Category`,
});

static isolated = IsolatedSecForOpportunityForm;
static edit = EditSecForOpportunityForm;
static embedded = ViewSecForOpportunityForm;
static atom = ViewSecForOpportunityForm;
}

export class OpportunityForm extends CardDef {
static displayName = 'Opportunity Form';
@field opportunityName = contains(StringField, {
Expand Down
Loading

0 comments on commit 27e4cf5

Please sign in to comment.