Skip to content

Commit cda64e2

Browse files
committed
Import button
1 parent 7109bbb commit cda64e2

File tree

4 files changed

+45
-11
lines changed

4 files changed

+45
-11
lines changed

services/static-webserver/client/source/class/osparc/study/PricingUnit.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ qx.Class.define("osparc.study.PricingUnit", {
2727
this.set({
2828
padding: 10,
2929
decorator: "rounded",
30+
minWidth: 100,
3031
allowGrowX: false,
3132
allowGrowY: false,
3233
});

services/static-webserver/client/source/class/osparc/vipMarket/AnatomicalModelDetails.js

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ qx.Class.define("osparc.vipMarket.AnatomicalModelDetails", {
2828
},
2929

3030
events: {
31-
"modelPurchased": "qx.event.type.Event",
31+
"modelPurchaseRequested": "qx.event.type.Data",
32+
"modelImportRequested": "qx.event.type.Data",
3233
},
3334

3435
properties: {
@@ -47,9 +48,11 @@ qx.Class.define("osparc.vipMarket.AnatomicalModelDetails", {
4748
const anatomicalModelsData = this.getAnatomicalModelsData();
4849
if (anatomicalModelsData) {
4950
const modelInfo = this.__createModelInfo(anatomicalModelsData);
50-
this._add(modelInfo);
5151
const pricingUnits = this.__createPricingUnits(anatomicalModelsData);
52+
const importButton = this.__createImportButton(anatomicalModelsData);
53+
this._add(modelInfo);
5254
this._add(pricingUnits);
55+
this._add(importButton);
5356
} else {
5457
const selectModelLabel = new qx.ui.basic.Label().set({
5558
value: this.tr("Select a model for more details"),
@@ -184,7 +187,13 @@ qx.Class.define("osparc.vipMarket.AnatomicalModelDetails", {
184187
const pUnit = new osparc.study.PricingUnitLicense(pricingUnit).set({
185188
showRentButton: true,
186189
});
187-
pUnit.addListener("rentPricingUnit", () => this.__rentAnatomicalModel(anatomicalModelsData, pricingUnit));
190+
pUnit.addListener("rentPricingUnit", () => {
191+
this.fireDataEvent("modelPurchaseRequested", {
192+
modelId: anatomicalModelsData["modelId"],
193+
licensedItemId: anatomicalModelsData["licensedItemId"],
194+
pricingUnitId: pricingUnit.getPricingUnitId(),
195+
});
196+
}, this);
188197
pricingUnitsLayout.add(pUnit);
189198
});
190199
})
@@ -193,8 +202,20 @@ qx.Class.define("osparc.vipMarket.AnatomicalModelDetails", {
193202
return pricingUnitsLayout;
194203
},
195204

196-
__rentAnatomicalModel: function(anatomicalModelsData, pricingUnit) {
197-
console.log(":purchase", anatomicalModelsData["licensedItemId"], pricingUnit.getPricingUnitId());
205+
__createImportButton: function(anatomicalModelsData) {
206+
const importButton = new qx.ui.form.Button().set({
207+
label: this.tr("Import"),
208+
appearance: "strong-button",
209+
center: true,
210+
maxWidth: 200,
211+
alignX: "center",
212+
});
213+
importButton.addListener("execute", () => {
214+
this.fireDataEvent("modelImportRequested", {
215+
modelId: anatomicalModelsData["modelId"]
216+
});
217+
}, this);
218+
return importButton;
198219
},
199220
}
200221
});

services/static-webserver/client/source/class/osparc/vipMarket/AnatomicalModelListItem.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,12 @@ qx.Class.define("osparc.vipMarket.AnatomicalModelListItem", {
9797
event: "changePricingPlanId",
9898
},
9999

100-
leased: {
100+
purchased: {
101101
check: "Boolean",
102102
init: false,
103103
nullable: true,
104-
event: "changeLeased",
105-
apply: "__applyLeased",
104+
event: "changePurchased",
105+
apply: "__applyPurchased",
106106
},
107107
},
108108

@@ -161,7 +161,7 @@ qx.Class.define("osparc.vipMarket.AnatomicalModelListItem", {
161161
this.getChildControl("name").setValue(value);
162162
},
163163

164-
__applyLeased: function(value) {
164+
__applyPurchased: function(value) {
165165
if (value) {
166166
this.setBackgroundColor("strong-main");
167167
}

services/static-webserver/client/source/class/osparc/vipMarket/VipMarket.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,15 +185,27 @@ qx.Class.define("osparc.vipMarket.VipMarket", {
185185

186186
this.__populateModels();
187187

188-
anatomicModelDetails.addListener("modelPurchased", e => {
189-
const modelId = e.getData();
188+
anatomicModelDetails.addListener("modelPurchaseRequested", e => {
189+
const {
190+
modelId,
191+
licensedItemId,
192+
pricingUnitId,
193+
} = e.getData();
194+
console.log("purchase", licensedItemId, pricingUnitId);
190195
const found = this.__anatomicalModels.find(model => model["ID"] === modelId);
191196
if (found) {
192197
found["purchased"] = true;
193198
this.__populateModels();
194199
anatomicModelDetails.setAnatomicalModelsData(found);
195200
}
196201
}, this);
202+
203+
anatomicModelDetails.addListener("modelImportRequested", e => {
204+
const {
205+
modelId
206+
} = e.getData();
207+
console.log("Import", modelId);
208+
}, this);
197209
});
198210
})
199211
.catch(err => console.error(err));

0 commit comments

Comments
 (0)