Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New LWC-based Config Management #1436

Merged
merged 64 commits into from
Mar 23, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
6eeadae
init rollupEditor LWC
JimBTek Mar 29, 2023
0a2d244
basic structure and initial sections
JimBTek Mar 29, 2023
176188f
Status check lwc and apex controller
sfenton3 Mar 30, 2023
19806bc
Add container application and associated MDT
aheber Mar 30, 2023
6c31b4d
Switch to DataTable for Rollups
aheber Mar 30, 2023
541d573
Update editor layout with Health check lwc
sfenton3 Mar 30, 2023
f73469d
integrate rollups and status check
JimBTek Mar 30, 2023
4fc3abe
update RollupStatusCheck component UI
lynguyenkhang Apr 4, 2023
0cee4d0
Create objectSelector.js
AishwaryaBadri Apr 6, 2023
17fbec4
Add files via upload
AishwaryaBadri Apr 6, 2023
11b0728
Add files via upload
AishwaryaBadri Apr 6, 2023
4048175
pull it together and refactor code locations
aheber Apr 7, 2023
4544f6f
Add validation and (de)activation
aheber Apr 9, 2023
4d2d965
feature: the MVP UI of RollupEditor component
lynguyenkhang Apr 12, 2023
c047b37
fix: improve the layout of RollupEditor component
lynguyenkhang Apr 13, 2023
2cfa0c5
feature: autocomplete combobox
lynguyenkhang Apr 16, 2023
6ca1d50
chore: rename method in RollupEditorController
lynguyenkhang Apr 17, 2023
89ac288
fix: "value" property setter
lynguyenkhang Apr 17, 2023
c7d7820
chore: Prettier reformatting
lynguyenkhang Apr 19, 2023
7c77386
Improve Object Picker behaviors and add features
aheber Apr 19, 2023
5e9d855
feature: UI separations between Edit and Create mode
lynguyenkhang May 1, 2023
32962b5
feature: rollup name as Header
lynguyenkhang May 1, 2023
313f69b
feature: refresh FieldOptions everywhen selected objects are changed
lynguyenkhang May 1, 2023
520fdb9
updated v58.0 to v59.0, fixes #1396
groundwired Oct 31, 2023
eca4314
Merge in improvements from ah branch
aheber Jan 10, 2024
140d134
Restore base components to editor
aheber Jan 10, 2024
8147cad
Cleanup rollup check and integrate
aheber Jan 12, 2024
f2bacee
WIP changing layout, adding path
aheber Jan 21, 2024
c73a370
Add vf links
aheber Jan 23, 2024
3e6d68b
Fix menu alignment
aheber Jan 23, 2024
f359c36
Move editor to modal
aheber Jan 30, 2024
89c190a
improve modal and path
aheber Feb 8, 2024
c09ca17
Merge branch 'main' into feature/nw/rollup-lwc
aheber Feb 13, 2024
9635df6
Remove onmouseleave behavior from autocomplete combobox
octatau Feb 13, 2024
48d6120
Add property to disable autocomplete combobox
octatau Feb 14, 2024
fe3176d
Disable field selection comboboxes in rollup editor when no options a…
octatau Feb 14, 2024
1b2fda6
Add ability to specify a search threshold on the autocomplete combobox
octatau Feb 14, 2024
184fd89
Use levenshtein distance to sort search results in autocomplete combobox
octatau Feb 14, 2024
9ae4cf2
Update selectOptionByValue function to identify options based on exac…
octatau Feb 14, 2024
9932e63
Merge branch 'SFDO-Community:feature/nw/rollup-lwc' into feature/nw/r…
octatau Feb 14, 2024
49719cf
Add autocomplete combobox property to indicate that search is require…
octatau Feb 15, 2024
b36d8fc
Add autocomplete combobox property to indicate the maximum number of …
octatau Feb 15, 2024
75a0226
Trigger autocomplete combobox on focus to fix unexpected double click…
octatau Feb 15, 2024
227d80b
Display configurable message when no autocomplete options are available
octatau Feb 15, 2024
a4599e7
Utilize autocomplete combobox for object selector
octatau Feb 15, 2024
def69ff
Decouple show/hide behavior in autocomplete combobox to manage visibi…
octatau Feb 15, 2024
6a79198
Merge pull request #1432 from octatau/feature/nw/rollup-lwc
aheber Feb 15, 2024
771b0a8
implement UI feedback
aheber Feb 15, 2024
1409243
Improve column labels
aheber Feb 15, 2024
09d76a3
Take default modal size
aheber Feb 15, 2024
cb98c1c
Add rough ability to manage the scheduled jobs
aheber Feb 25, 2024
eacfa93
Remove js-lenvenshtein lib from objectSelector
octatau Mar 1, 2024
e703949
Remove unused propoerties from object selector
octatau Mar 1, 2024
add470f
Render icons immediately after they are available
octatau Mar 1, 2024
57a12f5
Merge pull request #1435 from octatau/feature/nw/rollup-lwc
aheber Mar 1, 2024
67ec5ac
Update job scheduler
aheber Mar 3, 2024
0388e02
Update schedule style and details
aheber Mar 3, 2024
e5acaf9
Improve schedule UI
aheber Mar 13, 2024
374fa75
Relabel calculation mode in manage
aheber Mar 17, 2024
ad1b474
Improve path and cleanup status check
aheber Mar 17, 2024
ced8622
keep path updated
aheber Mar 17, 2024
dd1be93
Smooth out object selection
aheber Mar 17, 2024
e77d6fa
sort object fields
aheber Mar 19, 2024
bac757b
Make tab navigation support namespaced orgs
aheber Mar 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update job scheduler
  • Loading branch information
aheber committed Mar 3, 2024
commit 67ec5acf1e4302a4fddc0ae5f6636e2c0786c763
15 changes: 8 additions & 7 deletions dlrs/main/lwc/classSchedulerModal/classSchedulerModal.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,6 @@
<lightning-modal-header label={label}></lightning-modal-header>
<lightning-modal-body>
<lightning-layout multiple-rows>
<lightning-layout-item size="12">
<c-cron-builder
values={cronStrings}
oncronupdate={handleOnCronUpdate}
></c-cron-builder>
</lightning-layout-item>
<lightning-layout-item size="12">
<p>
Total Scheduled Jobs in the Org
Expand All @@ -20,7 +14,7 @@
</lightning-layout-item>
<lightning-layout-item size="12">
<lightning-layout multiple-rows>
<lightning-layout-item size="12">
<lightning-layout-item size="12" lwc:if={currentSchedule.length}>
Existing Schedules of {className}
</lightning-layout-item>
<template for:each={currentSchedule} for:item="sched">
Expand All @@ -41,6 +35,13 @@
</template>
</lightning-layout>
</lightning-layout-item>
<lightning-layout-item size="12">
<c-cron-builder
values={cronStrings}
oncronupdate={handleOnCronUpdate}
templates={templates}
></c-cron-builder>
</lightning-layout-item>
<lightning-layout-item size="12">
<div>Planned New Scheduled Items</div>
<template for:each={cronStrings} for:item="cron">
Expand Down
4 changes: 4 additions & 0 deletions dlrs/main/lwc/classSchedulerModal/classSchedulerModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ export default class ClassSchedulerModal extends LightningModal {
@api
disableHandleSchedule;

@api
templates;

async connectedCallback() {
this.currentSchedule = await getCurrentJobs({ className: this.className });
this.scheduledJobCount = (await getTotalScheduledJobs()).length;
Expand All @@ -40,6 +43,7 @@ export default class ClassSchedulerModal extends LightningModal {

// refresh current jobs list
this.currentSchedule = await getCurrentJobs({ className: this.className });
this.scheduledJobCount = (await getTotalScheduledJobs()).length;
}

async handleSchedule() {
Expand Down
25 changes: 0 additions & 25 deletions dlrs/main/lwc/cronBuilder/__tests__/cronBuilder.test.js

This file was deleted.

5 changes: 5 additions & 0 deletions dlrs/main/lwc/cronBuilder/cronBuilder.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
lightning-datatable {
max-height: 300px;
display: block;
overflow-y: auto;
}
221 changes: 106 additions & 115 deletions dlrs/main/lwc/cronBuilder/cronBuilder.html
Original file line number Diff line number Diff line change
@@ -1,137 +1,128 @@
<template>
<p>
Build a schedule that will run the process each time the clock matches the
selected time(s). Use one of the available templates to get started or use
Custom for the most flexibility.
</p>
<lightning-tabset heading-label="Select Template" heading-visible>
<p>Configure when the process should run</p>
<lightning-tabset>
<lightning-tab
label="Every Hour"
value="hourly"
label="Templates"
value="templates"
onactive={handeTabActivate}
lwc:if={templates}
>
<lightning-layout multiple-rows>
<lightning-layout-item size="12" medium-device-size="6">
<lightning-dual-listbox
name="minutes"
label="On Minutes"
source-label="Available"
selected-label="Selected"
field-level-help="Select which minutes of the hour the job should be allowed to start"
options={minutesOfHourOptions}
value={selectedMinutesOfDay}
onchange={handleSelectedMinutesOfDayChange}
></lightning-dual-listbox>
</lightning-layout-item>
</lightning-layout>
</lightning-tab>
<lightning-tab label="Every Day" value="daily" onactive={handeTabActivate}>
<lightning-layout multiple-rows>
<lightning-layout-item size="12" medium-device-size="6">
<lightning-dual-listbox
name="hours"
label="Chosen Hours"
source-label="Available"
selected-label="Selected"
field-level-help="Select which hours of the day the job should be allowed to start"
options={hoursOfDayOptions}
value={selectedHoursOfDay}
onchange={handleSelectedHoursOfDayChange}
></lightning-dual-listbox>
</lightning-layout-item>
<lightning-combobox
label="Template"
value={selectedTemplate}
options={templates}
onchange={handleTemplateChange}
></lightning-combobox>

<lightning-layout-item size="12" medium-device-size="6">
<lightning-dual-listbox
name="minutes"
label="Chosen Minutes"
source-label="Available"
selected-label="Selected"
field-level-help="Select which minutes of the hour the job should be allowed to start"
options={minutesOfHourOptions}
value={selectedMinutesOfDay}
onchange={handleSelectedMinutesOfDayChange}
></lightning-dual-listbox>
<lightning-combobox
label="Hour of the day"
options={hours}
value={selectedHourOfDay}
onchange={handleSingleHourChange}
lwc:if={shouldDisplaySingleHourSelector}
></lightning-combobox>

<lightning-combobox
label="Minute of the Hour"
options={minutes}
value={selectedMinuteOfTheHour}
onchange={handleSingleMinuteChange}
lwc:if={shouldDisplaySingleMinuteSelector}
></lightning-combobox>
</lightning-layout-item>
</lightning-layout>
</lightning-tab>
<lightning-tab label="Custom" value="custom" onactive={handeTabActivate}>
<lightning-layout multiple-rows>
<lightning-layout-item size="12" medium-device-size="6">
<lightning-layout-item size="12">
<p>
The process will run when the current time matches at least one
chosen value from each column
</p>
</lightning-layout-item>
<lightning-layout-item size="12" medium-device-size="6">
<lightning-input
type="toggle"
label="Use Week Days"
name="dateType"
checked={isWeekDayType}
onchange={handleDaysTypeChange}
field-level-help="Allows Days of Month or Days of Week"
message-toggle-inactive="Days of the Month"
message-toggle-active="Days of the Week"
></lightning-input>
<lightning-layout-item
size="6"
medium-device-size="3"
padding="around-small"
>
<!-- intentionally blank to align header-->
</lightning-layout-item>
<lightning-layout-item size="12" medium-device-size="6">
<lightning-dual-listbox
name="months"
label="Choose Months"
source-label="Available"
selected-label="Selected"
field-level-help="Chose which month the job is allowed to start"
options={monthOptions}
value={selectedMonths}
onchange={handleSelectedMonthChange}
></lightning-dual-listbox>
<lightning-layout-item
size="6"
medium-device-size="3"
padding="around-small"
>
<lightning-radio-group
type="button"
options={dayTypes}
value={dayType}
onchange={handleDayTypeChange}
></lightning-radio-group>
</lightning-layout-item>
<lightning-layout-item size="12" medium-device-size="6">
<lightning-dual-listbox
name="daysofweek"
label="Chosen Days of the Week"
source-label="Available"
selected-label="Selected"
field-level-help="Mutually exclusive with Days of Month, chose which days of the week the job is allowed to start"
options={daysOfWeekOptions}
value={selectedDaysOfWeek}
onchange={handleSelectedDaysOfWeekChange}
</lightning-layout>
<lightning-layout multiple-rows>
<lightning-layout-item
size="6"
medium-device-size="3"
padding="around-small"
>
<lightning-datatable
data={months}
columns={monthCols}
key-field="value"
selected-rows={selectedMonths}
onrowselection={handleMonthChange}
></lightning-datatable>
</lightning-layout-item>
<lightning-layout-item
size="6"
medium-device-size="3"
padding="around-small"
>
<lightning-datatable
lwc:if={isWeekDayType}
></lightning-dual-listbox>
<lightning-dual-listbox
name="daysofmonth"
label="Chosen Days of the Month"
source-label="Available"
selected-label="Selected"
field-level-help="Mutually exclusive with Days of Week, chose which days of the month the job is allowed to start"
options={daysOfMonthOptions}
value={selectedDaysOfMonth}
onchange={handleSelectedDaysOfWeekChange}
data={weekdays}
columns={dayCols}
key-field="value"
selected-rows={selectedWeekdays}
onrowselection={handleWeekdayChange}
></lightning-datatable>
<lightning-datatable
lwc:else
></lightning-dual-listbox>
data={days}
columns={dayCols}
key-field="value"
selected-rows={selectedDays}
onrowselection={handleDayChange}
></lightning-datatable>
</lightning-layout-item>
</lightning-layout>
<lightning-layout multiple-rows>
<lightning-layout-item size="12" medium-device-size="6">
<lightning-dual-listbox
name="hours"
label="Chosen Hours"
source-label="Available"
selected-label="Selected"
field-level-help="Select which hours of the day the job should be allowed to start"
options={hoursOfDayOptions}
value={selectedHoursOfDay}
onchange={handleSelectedHoursOfDayChange}
></lightning-dual-listbox>
<lightning-layout-item
size="6"
medium-device-size="3"
padding="around-small"
>
<lightning-datatable
data={hours}
columns={hourCols}
key-field="value"
selected-rows={selectedHours}
onrowselection={handleHourChange}
></lightning-datatable>
</lightning-layout-item>

<lightning-layout-item size="12" medium-device-size="6">
<lightning-dual-listbox
name="minutes"
label="Chosen Minutes"
source-label="Available"
selected-label="Selected"
field-level-help="Select which minutes of the hour the job should be allowed to start"
options={minutesOfHourOptions}
value={selectedMinutesOfDay}
onchange={handleSelectedMinutesOfDayChange}
></lightning-dual-listbox>
<lightning-layout-item
size="6"
medium-device-size="3"
padding="around-small"
>
<lightning-datatable
data={minutes}
columns={minuteCols}
key-field="value"
selected-rows={selectedMinutes}
onrowselection={handleMinuteChange}
></lightning-datatable>
</lightning-layout-item>
</lightning-layout>
</lightning-tab>
Expand Down
Loading
Loading