diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index a66bdf988..26d0d8556 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -435,24 +435,89 @@ export const QueryCopilotSampleContainerId = "SampleContainer"; export const QueryCopilotSampleContainerSchema = { product: { sampleData: { - id: "de6fadec-0384-43c8-93ea-16c0170b5460", - name: "Premium Phone Mini (Red)", - price: 652.04, + id: "c415e70f-9bf5-4cda-aebe-a290cb8b94c2", + name: "Amazing Phone 3000 (Black)", + price: 223.33, category: "Electronics", description: - "This Premium Phone Mini (Red) is designed by the company under agreement with the FCC, so we'd give it a pass in either direction, but no one should be using this handset without a compatible handset. All in all, this phone is one of the most affordable Android handsets out there at $100. Check them out.\n\n9. HTC One M9 4", - stock: 74, - countryOfOrigin: "Mexico", - firstAvailable: "2018-07-07 17:42:28", - priceHistory: [592.81], + "This Amazing Phone 3000 (Black) is made of black metal! It has a very well made aluminum body and it feels very comfortable. We loved the sound that comes out of it! Also, the design of the phone was a little loose at first because I was using the camera and felt uncomfortable wearing it. The phone is actually made slightly smaller than these photos! This is due to the addition of a 3.3mm filter", + stock: 84, + countryOfOrigin: "USA", + firstAvailable: "2018-09-07 19:41:44", + priceHistory: [238.68, 234.7, 221.49, 205.88, 220.15], customerRatings: [ - { username: "dannyhowell", stars: 1, date: "2022-03-12 17:01:23", verifiedUser: true }, - { username: "lindsay26", stars: 1, date: "2022-12-29 07:18:20", verifiedUser: false }, - { username: "smithmiguel", stars: 3, date: "2022-09-08 11:43:27", verifiedUser: false }, - { username: "julie07", stars: 3, date: "2021-03-14 23:54:10", verifiedUser: true }, - { username: "kelly93", stars: 3, date: "2022-11-05 12:45:43", verifiedUser: false }, - { username: "katherinereynolds", stars: 2, date: "2022-09-14 11:49:36", verifiedUser: false }, - { username: "chandlerkenneth", stars: 1, date: "2022-01-14 12:14:43", verifiedUser: true }, + { + username: "steven66", + firstName: "Carol", + gender: "female", + lastName: "Shelton", + age: "25-35", + area: "suburban", + address: "261 Collins Burgs Apt. 332\nNorth Taylor, NM 32268", + stars: 5, + date: "2021-04-22 13:42:14", + verifiedUser: true, + }, + { + username: "khudson", + firstName: "Ronald", + gender: "male", + lastName: "Webb", + age: "18-24", + area: "suburban", + address: "9912 Parker Court Apt. 068\nNorth Austin, HI 76225", + stars: 5, + date: "2021-02-07 07:00:22", + verifiedUser: false, + }, + { + username: "lfrancis", + firstName: "Brady", + gender: "male", + lastName: "Wright", + age: "35-45", + area: "urban", + address: "PSC 5437, Box 3159\nAPO AA 26385", + stars: 2, + date: "2022-02-23 21:40:10", + verifiedUser: false, + }, + { + username: "nicolemartinez", + firstName: "Megan", + gender: "female", + lastName: "Tran", + age: "18-24", + area: "rural", + address: "7445 Salazar Brooks\nNew Sarah, PW 18097", + stars: 4, + date: "2021-09-01 22:21:40", + verifiedUser: false, + }, + { + username: "uguzman", + firstName: "Deanna", + gender: "female", + lastName: "Campbell", + age: "18-24", + area: "urban", + address: "41104 Moreno Fort Suite 872\nPort Michaelbury, AK 48712", + stars: 1, + date: "2022-03-07 02:23:14", + verifiedUser: false, + }, + { + username: "rebeccahunt", + firstName: "Jared", + gender: "male", + lastName: "Lopez", + age: "18-24", + area: "rural", + address: "392 Morgan Village Apt. 785\nGreenshire, CT 05921", + stars: 5, + date: "2021-04-17 04:17:49", + verifiedUser: false, + }, ], rareProperty: true, }, @@ -494,6 +559,24 @@ export const QueryCopilotSampleContainerSchema = { username: { type: "string", }, + firstName: { + type: "string", + }, + gender: { + type: "string", + }, + lastName: { + type: "string", + }, + age: { + type: "string", + }, + area: { + type: "string", + }, + address: { + type: "string", + }, stars: { type: "number", }, diff --git a/src/Explorer/Explorer.tsx b/src/Explorer/Explorer.tsx index 4f74ec1db..ad0816a6a 100644 --- a/src/Explorer/Explorer.tsx +++ b/src/Explorer/Explorer.tsx @@ -1291,7 +1291,7 @@ export default class Explorer { return; } - const sampleDataResourceTokenCollection = new ResourceTokenCollection(this, databaseId, collection); + const sampleDataResourceTokenCollection = new ResourceTokenCollection(this, databaseId, collection, true); useDatabases.setState({ sampleDataResourceTokenCollection }); } } diff --git a/src/Explorer/Tree/ResourceTokenCollection.ts b/src/Explorer/Tree/ResourceTokenCollection.ts index ced728094..b30f2b3b1 100644 --- a/src/Explorer/Tree/ResourceTokenCollection.ts +++ b/src/Explorer/Tree/ResourceTokenCollection.ts @@ -28,8 +28,9 @@ export default class ResourceTokenCollection implements ViewModels.CollectionBas public children: ko.ObservableArray; public selectedSubnodeKind: ko.Observable; public isCollectionExpanded: ko.Observable; + public isSampleCollection?: boolean; - constructor(container: Explorer, databaseId: string, data: DataModels.Collection) { + constructor(container: Explorer, databaseId: string, data: DataModels.Collection, isSampleCollection?: boolean) { this.nodeKind = "Collection"; this.container = container; this.databaseId = databaseId; @@ -42,6 +43,7 @@ export default class ResourceTokenCollection implements ViewModels.CollectionBas this.children = ko.observableArray([]); this.selectedSubnodeKind = ko.observable(); this.isCollectionExpanded = ko.observable(true); + this.isSampleCollection = isSampleCollection; } public expandCollection(): void { diff --git a/src/Explorer/useSelectedNode.ts b/src/Explorer/useSelectedNode.ts index 90308981b..56dc4e419 100644 --- a/src/Explorer/useSelectedNode.ts +++ b/src/Explorer/useSelectedNode.ts @@ -66,11 +66,12 @@ export const useSelectedNode: UseStore = create((set, get) => return useNotebook.getState().connectionInfo?.status === ConnectionStatusType.Connected; }, isQueryCopilotCollectionSelected: (): boolean => { - const selectedNode = get().selectedNode; + const selectedNode = get().selectedNode as ViewModels.CollectionBase; if ( selectedNode && + selectedNode.isSampleCollection && selectedNode.id() === QueryCopilotSampleContainerId && - (selectedNode as ViewModels.Collection)?.databaseId === QueryCopilotSampleDatabaseId + selectedNode.databaseId === QueryCopilotSampleDatabaseId ) { return true; }