@aglyn/aglyn 1.0.0-beta.182 → 1.0.0-beta.184
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +11 -11
- package/src/lib/app-utils/compose-reusable-components.d.ts +10 -0
- package/src/lib/app-utils/compose-reusable-components.js +6 -1
- package/src/lib/app-utils/compose-reusable-components.js.map +1 -1
- package/src/lib/app-utils/consent-groups.d.ts +23 -1
- package/src/lib/app-utils/consent-groups.js +29 -1
- package/src/lib/app-utils/consent-groups.js.map +1 -1
- package/src/lib/app-utils/definition-canvas-tree.d.ts +24 -0
- package/src/lib/app-utils/definition-canvas-tree.js +38 -0
- package/src/lib/app-utils/definition-canvas-tree.js.map +1 -1
- package/src/lib/app-utils/docs-help.generated.d.ts +1 -1
- package/src/lib/app-utils/docs-help.generated.js +2 -0
- package/src/lib/app-utils/docs-help.generated.js.map +1 -1
- package/src/lib/app-utils/docs-index.generated.js +33 -12
- package/src/lib/app-utils/docs-index.generated.js.map +1 -1
- package/src/lib/app-utils/load-referenced-components.d.ts +166 -0
- package/src/lib/app-utils/load-referenced-components.js +219 -0
- package/src/lib/app-utils/load-referenced-components.js.map +1 -0
- package/src/lib/app-utils/reusable-component-kind.d.ts +119 -0
- package/src/lib/app-utils/reusable-component-kind.js +119 -0
- package/src/lib/app-utils/reusable-component-kind.js.map +1 -0
- package/src/lib/app-utils/server.d.ts +1 -0
- package/src/lib/app-utils/server.js +2 -0
- package/src/lib/app-utils/server.js.map +1 -1
- package/src/lib/foundation/constants/components.d.ts +7 -0
- package/src/lib/foundation/constants/components.js +6 -0
- package/src/lib/foundation/constants/components.js.map +1 -1
- package/src/lib/foundation/definitions/platform.types.d.ts +29 -0
- package/src/lib/foundation/definitions/platform.types.js.map +1 -1
- package/src/lib/foundation/index.d.ts +1 -1
- package/src/lib/foundation/index.js.map +1 -1
- package/src/lib/plugin-manager/first-party-plugins.generated.js +6 -0
- package/src/lib/plugin-manager/first-party-plugins.generated.js.map +1 -1
- package/src/lib/plugin-manager/plugin-resource-drafts.d.ts +17 -3
- package/src/lib/plugin-manager/plugin-resource-drafts.js +2 -2
- package/src/lib/plugin-manager/plugin-resource-drafts.js.map +1 -1
|
@@ -1458,7 +1458,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
1458
1458
|
title: 'Reusable components',
|
|
1459
1459
|
heading: 'Insert instances',
|
|
1460
1460
|
anchor: '#insert-instances',
|
|
1461
|
-
text: 'Insert instances from Your components in the element drawer, on any screen, layout, template or other component.\nOn the canvas an instance renders its actual content, not a placeholder — what you see is what the page will render, with properties already resolved. The rendered elements are not canvas elements, though: clicking anywhere on an instance selects the instance, which is the only thing there you can select, move or delete. To change what is inside it, open the component.'
|
|
1461
|
+
text: 'Insert instances from Your components in the element drawer, on any screen, layout, template or other component. Emails have their own: see Reusable email blocks.\nOn the canvas an instance renders its actual content, not a placeholder — what you see is what the page will render, with properties already resolved. The rendered elements are not canvas elements, though: clicking anywhere on an instance selects the instance, which is the only thing there you can select, move or delete. To change what is inside it, open the component.'
|
|
1462
1462
|
},
|
|
1463
1463
|
{
|
|
1464
1464
|
path: '/building-sites/besigner/reusable-components',
|
|
@@ -1493,7 +1493,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
1493
1493
|
title: 'Reusable components',
|
|
1494
1494
|
heading: 'Used by',
|
|
1495
1495
|
anchor: '#used-by',
|
|
1496
|
-
text: 'A component\'s detail page has a Used by card listing everything that places an instance of it, so deleting one is not a guess.\
|
|
1496
|
+
text: 'A component\'s detail page has a Used by card listing everything that places an instance of it, so deleting one is not a guess.\nEverywhere the renderer expands an instance is searched:\n- the published version of every screen, the emails you design for campaigns included,\n- the published version of every layout,\n- other reusable components — a component can be placed inside another one, so one used nowhere else can still be very much in use,\n- and the site\'s own emails — a header or footer placed in a booking confirmation or an order receipt goes out in every one sent.\nUnpublished drafts and templates in your library are not searched. If the check fails — a dropped connection, say — the card says so and shows a Try again button. It never reports "nothing uses this" when it could not actually look.\nIf a component is deleted while instances remain, those instances are left untouched rather than emptied: a missing definition never takes a published page down.'
|
|
1497
1497
|
},
|
|
1498
1498
|
{
|
|
1499
1499
|
path: '/building-sites/besigner/reusable-components',
|
|
@@ -1509,6 +1509,13 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
1509
1509
|
anchor: '#duplicate',
|
|
1510
1510
|
text: 'To start a new component from an existing one, choose Duplicate… in its row menu on the Components page, or More → Duplicate on its detail page. The copy carries the definition, its properties and the latest saved version, under the name you give it. It has no instances: every screen keeps pointing at the original, and you place the copy where you want it. Duplicating needs the same plan as creating a component.'
|
|
1511
1511
|
},
|
|
1512
|
+
{
|
|
1513
|
+
path: '/building-sites/besigner/reusable-components',
|
|
1514
|
+
title: 'Reusable components',
|
|
1515
|
+
heading: 'Reusable email blocks (header and footer)',
|
|
1516
|
+
anchor: '#reusable-email-blocks',
|
|
1517
|
+
text: 'Most emails a site sends start and end the same way: your logo at the top, your address at the bottom. Build those once as email blocks and add them to any email. Change the block, and every email using it changes too.\nAn email block is a reusable component made for emails. It is built from the email elements — email text, email image, email button and the rest — because mail apps can\'t show the elements your pages use. So each kind stays in its own place:\n- In an email, the element drawer lists your email blocks under Your email blocks, and never your page components.\n- On a page, you only see Your components, never an email block.\nThe Components page marks each row Email or Page, so you can tell them apart.\nMake a header or footer\n1. Open Components and choose Create Component.\n2. Give it a name, and under Where will you use it? choose In emails.\n3. Under Start with, pick one:\n- Header — a spot for your logo, with your company name under it.\n- Footer — your company name and address, and a line telling readers why they get your emails.\n- Blank — an empty block.\n4. Choose Next, then open the block in the Besigner and replace the sample words with your own. Pick your logo from the media library: until you do, the header\'s picture shows nothing in a sent email.\n5. Save & publish. Emails use the published version of the block.\nYou don\'t need an unsubscribe link in your footer. Campaign emails add one for you.\nThe same Header and Footer are in every email\'s element drawer too, under Sections & Blocks. Drop one into an email to use it in that email only.\nYou can also turn part of an email into a block: select it and choose Save as reusable component in the Attributes panel. Saved from an email, it becomes an email block.\nAdd one to an email\nOpen any email — a campaign email,'
|
|
1518
|
+
},
|
|
1512
1519
|
{
|
|
1513
1520
|
path: '/building-sites/besigner/reusable-components',
|
|
1514
1521
|
title: 'Reusable components',
|
|
@@ -3565,7 +3572,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
3565
3572
|
title: 'Companies',
|
|
3566
3573
|
heading: 'The companies list',
|
|
3567
3574
|
anchor: '#the-companies-list',
|
|
3568
|
-
text: 'The list shows every company your site may see, newest activity first, with its domain, how many contacts are linked to it, its owner, when it was last changed and its next activity — when the earliest open task against it is due
|
|
3575
|
+
text: 'The list shows every company your site may see, newest activity first, with its domain, how many contacts are linked to it, its owner, when it was last changed and its next activity — when the earliest open task against it is due. The table\'s Search box, or Filters › Company, finds a company by the start of its name — the search reaches every company, not only the page on screen — Filters › Owner shows one teammate\'s accounts, and Next activity › is empty keeps only the companies with nothing scheduled. Clicking a row opens the company\'s page.\nThe Contacts column is a count kept on the company and moved with every link and unlink, so a page of companies costs no lookup per row. A company linked before the count existed can read lower than its page shows; the company\'s own page counts live, and is the figure to trust when the two differ.'
|
|
3569
3576
|
},
|
|
3570
3577
|
{
|
|
3571
3578
|
path: '/content-and-data/crm/companies',
|
|
@@ -3810,7 +3817,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
3810
3817
|
title: 'Deals pipeline',
|
|
3811
3818
|
heading: 'The board and the table',
|
|
3812
3819
|
anchor: '#the-board-and-the-table',
|
|
3813
|
-
text: 'The section opens as a board of the chosen pipeline: one column per open stage, with Won and Lost folded away at the end until you expand them. Each card shows the deal\'s title, amount, the contact and company it is with, its owner, and how many days it has sat in its current stage. Drag a card between columns to move it, or use the card\'s menu to move it, mark it won, or mark it lost from the keyboard.\nAbove the board, three figures summarize what is open: the open count, the pipeline value (every open deal\'s amount, per currency) and the weighted value (each amount multiplied by its stage\'s probability).\nSwitch to the table for a paged list with the title, stage, amount, owner, expected close date, status and next activity of every deal in the pipeline, including the closed ones. The
|
|
3820
|
+
text: 'The section opens as a board of the chosen pipeline: one column per open stage, with Won and Lost folded away at the end until you expand them. Each card shows the deal\'s title, amount, the contact and company it is with, its owner, and how many days it has sat in its current stage. Drag a card between columns to move it, or use the card\'s menu to move it, mark it won, or mark it lost from the keyboard.\nAbove the board, three figures summarize what is open: the open count, the pipeline value (every open deal\'s amount, per currency) and the weighted value (each amount multiplied by its stage\'s probability).\nSwitch to the table for a paged list with the title, stage, amount, owner, expected close date, status and next activity of every deal in the pipeline, including the closed ones. The table\'s Filters panel narrows it by Status (open, won or lost), and Next activity › is empty keeps only the deals on the page with no open task scheduled against them — the ones the reports page counts as stuck.\nThe table\'s rows have checkboxes: tick some and a bulk bar appears above it to set their stage, set their owner, mark them lost with one reason, export them or delete them. Export CSV above the table downloads the deals on screen as deals.csv — title, pipeline and stage by name, the amount in major units beside its currency, the owner by email address, the expected close date, status, the contact and the company, when it closed, the lost reason and notes; the bar\'s Export CSV writes the same file over the selection.'
|
|
3814
3821
|
},
|
|
3815
3822
|
{
|
|
3816
3823
|
path: '/content-and-data/crm/deals',
|
|
@@ -3978,7 +3985,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
3978
3985
|
title: 'Leads',
|
|
3979
3986
|
heading: 'The Leads list',
|
|
3980
3987
|
anchor: '#the-leads-list',
|
|
3981
|
-
text: 'The list shows the most recently seen leads first — a person who booked yesterday sits above one who signed up last month, whichever came first. Each row carries:\n| Column | What it shows |\n| Lead | The name the person gave, with their email beneath it — or the email alone. |\n| Company, Title | The lead\'s own company and job title, as text. |\n| Status | New, Working, Qualified or Unqualified. Change it in place from the row. |\n| Email | The last verdict on the lead\'s address — see Email state — or a dash when nothing is known. |\n| Owner | The team member working the lead, or Unassigned. A lead inherits its contact\'s owner when one is assigned on capture. |\n| Source | Every surface that captured this person: Booking, the form they submitted, an import, New lead, or the API — and Sign-up on leads filed before sign-ups stopped making leads. |\n| Lead source | The lead\'s lead source. Sorting by it follows the order of your list, not the alphabet. |\n| Tags | The lead\'s tags. |\n| Campaign | The campaigns the lead is filed under, by name. Under a site only — a campaign belongs to one site. |\n| Last seen | When the person last did something on your site. |\nThe
|
|
3988
|
+
text: 'The list shows the most recently seen leads first — a person who booked yesterday sits above one who signed up last month, whichever came first. Each row carries:\n| Column | What it shows |\n| Lead | The name the person gave, with their email beneath it — or the email alone. |\n| Company, Title | The lead\'s own company and job title, as text. |\n| Status | New, Working, Qualified or Unqualified. Change it in place from the row. |\n| Email | The last verdict on the lead\'s address — see Email state — or a dash when nothing is known. |\n| Owner | The team member working the lead, or Unassigned. A lead inherits its contact\'s owner when one is assigned on capture. |\n| Source | Every surface that captured this person: Booking, the form they submitted, an import, New lead, or the API — and Sign-up on leads filed before sign-ups stopped making leads. |\n| Lead source | The lead\'s lead source. Sorting by it follows the order of your list, not the alphabet. |\n| Tags | The lead\'s tags. |\n| Campaign | The campaigns the lead is filed under, by name. Under a site only — a campaign belongs to one site. |\n| Last seen | When the person last did something on your site. |\nThe table\'s own toolbar filters the list: Filters opens the filter panel, and Search finds a lead by name, email, company, title or tag. Status, Email, Owner, Lead source and Campaign are picked from a list in the panel, and from each column\'s menu. Status starts on Open (new or working), every lead that still needs working; pick one status instead, or remove the filter to see every lead. A lead nobody has touched yet has no status of its own and reads as New, so the leads your site collected before the CRM existed are already in the Open view. Email narrows by the address\'s verdict — Cannot be emailed for every lead a sender '
|
|
3982
3989
|
},
|
|
3983
3990
|
{
|
|
3984
3991
|
path: '/content-and-data/crm/leads',
|
|
@@ -4153,7 +4160,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
4153
4160
|
title: 'Reports',
|
|
4154
4161
|
heading: 'Pipeline',
|
|
4155
4162
|
anchor: '#pipeline',
|
|
4156
|
-
text: '- Open deals and their pipeline value — the face value of every open deal, counted on the server.\n- Weighted forecast — each open deal at the odds of its stage (a deal in a 60% stage counts 60% of its amount). Won and lost deals are never in the pipeline: a won deal is revenue and a lost one is history.\n- Deals by stage, per pipeline, each stage with its count, value and weighted value. A deal sitting in a stage the pipeline no longer has, or in no pipeline at all, is listed separately and is worth nothing to the forecast.\n- Top open deals — the ten largest, each a link to the deal.\n- Stuck deals — the open deals with no next activity: nothing scheduled against them. Painted as a warning above zero and a link to the deals list,
|
|
4163
|
+
text: '- Open deals and their pipeline value — the face value of every open deal, counted on the server.\n- Weighted forecast — each open deal at the odds of its stage (a deal in a 60% stage counts 60% of its amount). Won and lost deals are never in the pipeline: a won deal is revenue and a lost one is history.\n- Deals by stage, per pipeline, each stage with its count, value and weighted value. A deal sitting in a stage the pipeline no longer has, or in no pipeline at all, is listed separately and is worth nothing to the forecast.\n- Top open deals — the ten largest, each a link to the deal.\n- Stuck deals — the open deals with no next activity: nothing scheduled against them. Painted as a warning above zero and a link to the deals list, where Next activity › is empty lists them.\nDeals in more than one currency are added as numbers and shown in the most common currency, with a note saying so.'
|
|
4157
4164
|
},
|
|
4158
4165
|
{
|
|
4159
4166
|
path: '/content-and-data/crm/reports',
|
|
@@ -4391,7 +4398,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
4391
4398
|
title: 'Tasks & follow-ups',
|
|
4392
4399
|
heading: 'The tasks page',
|
|
4393
4400
|
anchor: '#the-tasks-page',
|
|
4394
|
-
text: 'The Tasks section is one list with six views, chosen
|
|
4401
|
+
text: 'The Tasks section is one list with six views, chosen under Show in the table\'s Filters panel — My tasks unless you choose another:\n| View | What it shows |\n| My tasks | Open tasks assigned to you, soonest due first. Tasks with no due date come last. |\n| Overdue | Open tasks whose due date is before today. |\n| Today | Open tasks due at any time today. |\n| Upcoming | Open tasks due tomorrow or later. |\n| All open | Every open task, whoever it is assigned to. |\n| Done | Completed tasks, most recently due first. |\n"Overdue" and "today" are not stored on the task — nothing runs at midnight to stamp them. Each view is a window over the due date computed from your own clock and time zone when you look, and a tab left open across midnight repaints yesterday\'s work as overdue on its own.\nEach row shows a checkbox that completes or reopens the task, the title (with the first line of notes under it), the kind, the priority, the due date colored by where it stands — red when overdue, amber when due today — with a snooze beside it, the assignee, and the record it is for, as a link into that record\'s page. A view shows at most 200 rows and says so when it is full; narrow the view to see the rest.\nThe calendar view\nList and Calendar sit beside the view control. The calendar draws one month, placing each task on the day it is due, and clicking one opens the same drawer a row does. The arrows page a month at a time and Today comes back.\nThe calendar draws the same tasks the list is showing — the same view, the same window, and no extra reading — so a month that looks empty may simply be a month the view\'s tasks are not in. It says so underneath: how many of them are due outside the month on screen, how many have no due date at all (a calendar cannot place those), and whether the view is'
|
|
4395
4402
|
},
|
|
4396
4403
|
{
|
|
4397
4404
|
path: '/content-and-data/crm/tasks',
|
|
@@ -4419,7 +4426,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
4419
4426
|
title: 'Tasks & follow-ups',
|
|
4420
4427
|
heading: 'Next activity',
|
|
4421
4428
|
anchor: '#next-activity',
|
|
4422
|
-
text: 'Every contact, company and deal carries a Next activity: when its earliest open task is due. It is a column on the contacts, companies and deals lists — overdue in the warning color, today emphasized, a dash when nothing is scheduled — and
|
|
4429
|
+
text: 'Every contact, company and deal carries a Next activity: when its earliest open task is due. It is a column on the contacts, companies and deals lists — overdue in the warning color, today emphasized, a dash when nothing is scheduled — and filtering it by is empty in the table\'s Filters panel keeps only the records with nothing planned. A view saved with that filter reopens with it. On the reports page, the pipeline card\'s Stuck deals counts the open deals with nothing scheduled.\nThe figure is kept by every task write: creating, editing, snoozing, completing, reopening or deleting a task recomputes it for the records the task names, and so does a task filed by an automation or over the API. A record that existed before the figure did shows a dash until a task against it is written — or until Recompute next activity in the Fields section rewrites every record\'s figure from its open tasks.'
|
|
4423
4430
|
},
|
|
4424
4431
|
{
|
|
4425
4432
|
path: '/content-and-data/crm/tasks',
|
|
@@ -4461,7 +4468,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
4461
4468
|
title: 'Saved views',
|
|
4462
4469
|
heading: 'The views control',
|
|
4463
4470
|
anchor: '#the-views-control',
|
|
4464
|
-
text: 'Above each list, a button names the view the list is showing — All contacts when none is — and opens the views menu:\n- My views are the ones you saved for yourself.\n- Shared with the team lists views a colleague saved and shared.\n- On the Contacts list, your saved segments are offered under their own heading; choosing one puts its tags and sources
|
|
4471
|
+
text: 'Above each list, a button names the view the list is showing — All contacts when none is — and opens the views menu:\n- My views are the ones you saved for yourself.\n- Shared with the team lists views a colleague saved and shared.\n- On the Contacts list, your saved segments are offered under their own heading; choosing one puts its tags and sources among the list\'s filters.\nBeneath them are the acts on the open view:\n| Action | What happens |\n| Save changes | The filters, columns and sort as they are now become the view\'s. Offered on a view you may change — one you made, or any view when you are an organization-wide member. |\n| Save as view… / Save as new view… | Name the current arrangement and keep it. Tick Share with the team to list it for everyone who can open the section. |\n| Rename… | Change the name. |\n| Share with the team / Stop sharing | List the view for the whole team, or take it back to yours alone. |\n| Set as default / Clear default | Open the section on this view whenever you come to it. The default is yours: a colleague\'s default is theirs. |\n| Discard changes / Clear filters | Back to the view\'s saved arrangement, or to the plain list. |\n| Save as segment… | Contacts only — see Segments and views. |\n| Delete view… | After a confirmation. The records themselves are untouched. |\nA view you have changed is marked Modified beside its name, so a list that reads "My open leads" and shows something else cannot pass for the saved one.'
|
|
4465
4472
|
},
|
|
4466
4473
|
{
|
|
4467
4474
|
path: '/content-and-data/crm/views',
|
|
@@ -4470,12 +4477,26 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
4470
4477
|
anchor: '#a-view-is-a-link',
|
|
4471
4478
|
text: 'The address of a section carries the open view as ?view=…. Copy the address and a colleague who can open the section lands on the same list. On the Contacts list the key sits beside the ones a form\'s page or the Inbox link with, so "the people this form captured, in my usual view" is one address.'
|
|
4472
4479
|
},
|
|
4480
|
+
{
|
|
4481
|
+
path: '/content-and-data/crm/views',
|
|
4482
|
+
title: 'Saved views',
|
|
4483
|
+
heading: 'Filters',
|
|
4484
|
+
anchor: '#filters',
|
|
4485
|
+
text: 'Every CRM list filters through its table\'s own toolbar: Filters opens the filter panel, Search finds a record by its name and the words beside it, and each column\'s menu has Filter too. Pick a column, a condition and a value; a field with fixed choices — a status, a stage, an owner, a lead source, a campaign, a kind, a priority — is picked from a list, a date from a calendar, anything else typed.\nThe panel edits one filter at a time. Filters on different columns add up: filter one column, then another, and the list keeps both. Every filter in force shows as a chip beside the views control, where its ✕ removes it, and all of them are part of the saved view. A view saved before the panel existed keeps its filters as they were.'
|
|
4486
|
+
},
|
|
4473
4487
|
{
|
|
4474
4488
|
path: '/content-and-data/crm/views',
|
|
4475
4489
|
title: 'Saved views',
|
|
4476
4490
|
heading: 'Filters on the Contacts list',
|
|
4477
4491
|
anchor: '#filters-on-the-contacts-list',
|
|
4478
|
-
text: '
|
|
4492
|
+
text: 'On the Contacts list the fields are the list\'s columns and a few that are not — owner, stage, source, company, tags, form, orders, lifetime value, created and updated dates, email verdict, next activity, and one field per custom field your organization has defined.\nOne chip reaches every contact and the rest narrow what it found. The database answers one filter per query, so the first filter it can serve — a name, an email, a tag, a form, a date, an order count — is run against the whole collection, and every other filter narrows the newest thousand contacts that query returned. The served chip is filled; the others are outlined; and the caption under the chips says which is which. Owner, stage, source, company and custom-field filters always narrow rather than reach, because those facts are kept per site and no query can reach them directly. Sorting reorders the loaded window.'
|
|
4493
|
+
},
|
|
4494
|
+
{
|
|
4495
|
+
path: '/content-and-data/crm/views',
|
|
4496
|
+
title: 'Saved views',
|
|
4497
|
+
heading: 'Filters on the other lists',
|
|
4498
|
+
anchor: '#filters-on-the-other-lists',
|
|
4499
|
+
text: '- Leads — Status, Email, Owner, Lead source and Campaign; see the leads list. The list reads the 200 most recently seen leads, and every filter and the search narrow those.\n- Companies — Company (starts with or is) and Owner reach every company; the search box is the same Company starts with filter. The list is paged, so one of the two applies at a time.\n- Deals (the table) — Status reaches every deal. There is no search box: nothing indexes a deal\'s title, and a search over one page would miss the deal on the next.\n- Tasks — Show is the task view (My tasks, Overdue, Today, Upcoming, All open, Done) and reaches every task; Kind, Priority and Assignee, and the search over title and notes, narrow the rows that view loaded.\nOn the contacts, companies and deals lists, Next activity › is empty keeps only the records with no open task scheduled against them (see next activity). It narrows the rows already loaded rather than the whole collection, the way a contacts filter that cannot be served does, and it stays beside the companies and deals lists\' one served filter.'
|
|
4479
4500
|
},
|
|
4480
4501
|
{
|
|
4481
4502
|
path: '/content-and-data/crm/views',
|
|
@@ -4489,7 +4510,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
4489
4510
|
title: 'Saved views',
|
|
4490
4511
|
heading: 'Segments and views',
|
|
4491
4512
|
anchor: '#segments-and-views',
|
|
4492
|
-
text: 'A segment is the older, narrower thing: saved tags and sources, usable as a campaign audience. Views keep everything a segment kept and more, and the two meet in two places:\n- Every segment is offered in the Contacts views menu. Choosing one puts its tags and sources
|
|
4513
|
+
text: 'A segment is the older, narrower thing: saved tags and sources, usable as a campaign audience. Views keep everything a segment kept and more, and the two meet in two places:\n- Every segment is offered in the Contacts views menu. Choosing one puts its tags and sources among the list\'s filters, where you can narrow further and save the result as a view.\n- Save as segment… in the views menu keeps the tag and source filters of the current view as a segment. The other filters stay on the view.\nA contacts view can also be an email audience in its own right. When you build an audience from a rule, pick it under Saved view, beside Saved segment: the view\'s filters — owner, stage, company, tags, sources, dates, purchases and custom fields — always apply, the way a segment\'s do. Only views whose filters can be an audience are offered: a view filtered by a name or an email, or by the updated date, describes a list on a screen rather than a set of people, and is left out. A view that is deleted, or edited past what an audience can express after a rule named it, makes that audience select nobody rather than everybody.'
|
|
4493
4514
|
},
|
|
4494
4515
|
{
|
|
4495
4516
|
path: '/content-and-data/crm/views',
|
|
@@ -5406,7 +5427,7 @@ export const ASSIST_DOCS_INDEX = [
|
|
|
5406
5427
|
title: 'Extension-point catalog',
|
|
5407
5428
|
heading: '',
|
|
5408
5429
|
anchor: '',
|
|
5409
|
-
text: 'Extension-point catalog\nThe surface matrix: what a plugin can extend, from which entry (barrel = client, /server = API process), and when it runs.\n| Extension point | Entry | Reaches | Runs |\n| Canvas components (defineUiFeatureBundle) | barrel (site) | Besigner + published sites | Editor gates / SSR-suspended page load |\n| Console nav + pages (ConsoleExtension.navItems) | barrel (console) | Console host area | After the org resolves, before the shell paints |\n| Widgets (ConsoleExtension.widgets) | barrel (console) | Named console zones (dashboard, org, billing, team, staff, besigner, the assistant dock) — a widget with a column is a column of a shell-owned table | With their host page |\n| Providers (ConsoleExtension.providers) | barrel (console) | Around every console page | Once the registry is populated |\n| Zones a plugin HOSTS (definePluginZone / registerPluginZone) | barrel (console) | A position on a page the plugin owns, with the props it hands each widget carried on the token — so another plugin writes a widget for it without importing the owner | With the page that draws useConsoleWidgetSlot(); the token itself is type-only and ships nothing |\n| Staff pages (ConsoleExtension.staffPages) | barrel (staff) | The staff area — a tab in the staff strip and a page at /admin/{id} | Once the staff area has loaded its plugins, behind the staff guard |\n| Site runtimes (registerSiteRuntime) | barrel (site) | Every published page | Client render, reading enricher props |\n| Redirect resolvers / page resolvers / enrichers | /server | Tenant page pipeline | Per request, in that order; enricher errors isolated |\n| API routes (registerPluginApiRoute) | /server
|
|
5430
|
+
text: 'Extension-point catalog\nThe surface matrix: what a plugin can extend, from which entry (barrel = client, /server = API process), and when it runs.\n| Extension point | Entry | Reaches | Runs |\n| Canvas components (defineUiFeatureBundle) | barrel (site) | Besigner + published sites | Editor gates / SSR-suspended page load |\n| Console nav + pages (ConsoleExtension.navItems) | barrel (console) | Console host area | After the org resolves, before the shell paints |\n| Widgets (ConsoleExtension.widgets) | barrel (console) | Named console zones (dashboard, org, billing, team, staff, besigner, the assistant dock) — a widget with a column is a column of a shell-owned table | With their host page |\n| Providers (ConsoleExtension.providers) | barrel (console) | Around every console page | Once the registry is populated |\n| Zones a plugin HOSTS (definePluginZone / registerPluginZone) | barrel (console) | A position on a page the plugin owns, with the props it hands each widget carried on the token — so another plugin writes a widget for it without importing the owner | With the page that draws useConsoleWidgetSlot(); the token itself is type-only and ships nothing |\n| Staff pages (ConsoleExtension.staffPages) | barrel (staff) | The staff area — a tab in the staff strip and a page at /admin/{id} | Once the staff area has loaded its plugins, behind the staff guard |\n| Site runtimes (registerSiteRuntime) | barrel (site) | Every published page | Client render, reading enricher props |\n| Redirect resolvers / page resolvers / enrichers | /server | Tenant page pipeline | Per request, in that order; enricher errors isolated |\n| API routes (registerPluginApiRoute) | /server (tenantApi / consoleApi) | /api/ of the app whose surface registered the route: tenantApi routes answer on the published'
|
|
5410
5431
|
},
|
|
5411
5432
|
{
|
|
5412
5433
|
path: '/developers/plugins/reference/injection-zones',
|