cleanup
|
@ -16,7 +16,6 @@
|
|||
<tabs>Property__c</tabs>
|
||||
<tabs>Broker__c</tabs>
|
||||
<tabs>standard-Contact</tabs>
|
||||
<tabs>Command_Center</tabs>
|
||||
<tabs>Einstein_Vision</tabs>
|
||||
<tabs>standard-report</tabs>
|
||||
<tabs>standard-Dashboard</tabs>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<aura:documentation>
|
||||
<aura:description>Documentation</aura:description>
|
||||
<aura:example name="ExampleName" ref="exampleComponentName" label="Label">
|
||||
Example Description
|
||||
</aura:example>
|
||||
</aura:documentation>
|
|
@ -1,55 +0,0 @@
|
|||
<aura:component implements="flexipage:availableForAllPageTypes" controller="PropertyController" access="global">
|
||||
|
||||
<aura:attribute name="fullScreen" type="Boolean" default="false" />
|
||||
<aura:attribute name="atRiskProperties" type="Property__c[]" />
|
||||
|
||||
<aura:handler name="init" value="{! this }" action="{! c.onInit }"/>
|
||||
|
||||
<article class="slds-card">
|
||||
<div class="slds-grid slds-einstein-header slds-card__header">
|
||||
<header class="slds-media slds-media_center slds-has-flexi-truncate">
|
||||
<div class="slds-grid slds-grid_vertical-align-center slds-size_3-of-4 slds-medium-size_2-of-3">
|
||||
<div class="slds-media__body">
|
||||
<h2 class="slds-truncate" title="Einstein (10+)">
|
||||
<a href="javascript:void(0);" class="slds-card__header-link" title="Einstein (10+)">
|
||||
<span class="slds-text-heading_small">Smart Actions</span>
|
||||
</a>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="slds-einstein-header__figure slds-size_1-of-4 slds-medium-size_1-of-3"></div>
|
||||
</header>
|
||||
</div>
|
||||
<div class="slds-card__body slds-card__body_inner">
|
||||
Einstein Prediction Builder determined the following properties are at risk and will stay on the market for too long. Click Optimize to address the issues.
|
||||
<aura:iteration items="{!v.atRiskProperties}" var="property" indexVar="i">
|
||||
<lightning:layout verticalAlign="center" class="row">
|
||||
<lightning:layoutItem>
|
||||
<img src="{!property.Thumbnail__c}" class="property-pic" />
|
||||
</lightning:layoutItem>
|
||||
<lightning:layoutItem flexibility="grow">
|
||||
{!property.Address__c}, {!property.City__c}
|
||||
<p><lightning:formattedNumber value="{!property.Price__c}" style="currency" currencyCode="USD" minimumFractionDigits="0" maximumFractionDigits="0"/></p>
|
||||
{!property.Predicted_Days_On_Market__c}
|
||||
</lightning:layoutItem>
|
||||
<lightning:layoutItem>
|
||||
<lightning:button label="Optimize" onclick="{!c.optimize}" name="{!property.Id}"/>
|
||||
</lightning:layoutItem>
|
||||
</lightning:layout>
|
||||
</aura:iteration>
|
||||
</div>
|
||||
</article>
|
||||
<aura:if isTrue="{!v.fullScreen==true}">
|
||||
<div role="dialog" tabindex="-1" aria-labelledby="header43" class="slds-modal slds-fade-in-open">
|
||||
<div class="slds-modal__container slds-card">
|
||||
<lightning:flow aura:id="flow" onstatuschange="{!c.flowStatusChange}"/>
|
||||
</div>
|
||||
<!-- <div class="btn slds-modal__close close x-large">
|
||||
<lightning:buttonIcon variant="bare" onclick="{!c.closeDialog}" size="large" iconName="utility:close" />
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="slds-backdrop slds-backdrop--open"></div>
|
||||
</aura:if>
|
||||
|
||||
|
||||
</aura:component>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AuraDefinitionBundle xmlns="urn:metadata.tooling.soap.sforce.com" fqn="ActionList">
|
||||
<apiVersion>42.0</apiVersion>
|
||||
<description>A Lightning Component Bundle</description>
|
||||
</AuraDefinitionBundle>
|
|
@ -1,35 +0,0 @@
|
|||
.THIS {
|
||||
}
|
||||
|
||||
.THIS .slds-modal__container {
|
||||
height: 500px;
|
||||
width: 90%;
|
||||
max-width: initial;
|
||||
margin: auto;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.THIS .slds-modal {
|
||||
}
|
||||
|
||||
.THIS .slds-modal__close {
|
||||
position: absolute;
|
||||
top: 100px;
|
||||
right: 5%;
|
||||
}
|
||||
|
||||
.THIS .slds-card__body_inner .slds-grid {
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
.THIS .property-pic {
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
margin-right: 8px;
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
<design:component label="Smart Actions">
|
||||
|
||||
</design:component>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
|
||||
<path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
|
||||
</g>
|
||||
</svg>
|
До Ширина: | Высота: | Размер: 661 B |
|
@ -1,24 +0,0 @@
|
|||
({
|
||||
onInit : function(component, event, helper) {
|
||||
var property = component.get("v.property");
|
||||
var action = component.get("c.getAtRiskProperties");
|
||||
action.setCallback(this, function(response){
|
||||
component.set("v.atRiskProperties", response.getReturnValue());
|
||||
});
|
||||
$A.enqueueAction(action);
|
||||
},
|
||||
|
||||
optimize : function(component, event, helper) {
|
||||
var propertyId = event.getSource().get("v.name");
|
||||
component.set("v.fullScreen", true);
|
||||
var flow = component.find("flow");
|
||||
flow.startFlow("Optimize_Listing", [{name: 'recordId', type: 'String', value: propertyId}]);
|
||||
},
|
||||
|
||||
flowStatusChange : function(component, event, helper) {
|
||||
if (event.getParam("status") === "FINISHED") {
|
||||
component.set("v.fullScreen", false);
|
||||
}
|
||||
}
|
||||
|
||||
})
|
|
@ -1,4 +0,0 @@
|
|||
({
|
||||
helperMethod : function(component) {
|
||||
},
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
|
||||
// Your renderer method overrides go here
|
||||
|
||||
})
|
|
@ -1,69 +0,0 @@
|
|||
<aura:component implements="force:hasRecordId,flexipage:availableForAllPageTypes"
|
||||
access="global">
|
||||
|
||||
<!--
|
||||
A component used to predict the number of days a property will stay on the market based on the asking price.
|
||||
The prediction service is stubbed in this version of the component.
|
||||
-->
|
||||
|
||||
<ltng:require scripts="{!$Resource.countup7}" />
|
||||
|
||||
<aura:attribute name="recordId" type="Id"/>
|
||||
<aura:attribute name="property" type="Property__c"/>
|
||||
<aura:attribute name="price" type="Long"/>
|
||||
<aura:attribute name="formattedPrice" type="String"/>
|
||||
<aura:attribute name="newPrice" type="Long"/>
|
||||
<aura:attribute name="days" type="Integer" default="0"/>
|
||||
<aura:attribute name="color" type="String" default="green"/>
|
||||
<aura:attribute name="waiting" type="Boolean" default="false"/>
|
||||
|
||||
<force:recordData aura:id="propertyService"
|
||||
recordId="{!v.recordId}"
|
||||
targetFields="{!v.property}"
|
||||
fields="['Id', 'Price__c', 'Assessed_Value__c', 'Address__c', 'City__c', 'Date_Listed__c']"
|
||||
mode="EDIT"
|
||||
recordUpdated="{!c.onRecordUpdated}"/>
|
||||
|
||||
<aura:handler event="ltng:selectSObject" action="{!c.onRecordSelected}"/>
|
||||
|
||||
<lightning:card >
|
||||
<aura:set attribute="title">
|
||||
<lightning:icon iconName="utility:setup_assistant_guide" size="small"/>
|
||||
Days on Market Estimator
|
||||
</aura:set>
|
||||
<aura:set attribute="actions">
|
||||
<lightning:button label="Save as New Price" onclick="{!c.onSavePriceBtnClicked}"/>
|
||||
</aura:set>
|
||||
|
||||
<aura:if isTrue="{!v.property==undefined}">
|
||||
<div aura:id="selectSection" class="select slds-text-color--weak">
|
||||
Select a property
|
||||
</div>
|
||||
</aura:if>
|
||||
|
||||
<aura:if isTrue="{!v.property!=undefined}">
|
||||
<div aura:id="dataPanel">
|
||||
<div class="summary">
|
||||
{!v.property.Address__c}, {!v.property.City__c} ・ Current Price: <lightning:formattedNumber value="{!v.property.Price__c}" style="currency" currencyCode="USD"/>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="left">
|
||||
<h1>{!v.formattedPrice}</h1>
|
||||
<input class="slds-slider__range" min='{!v.property.Price__c * 0.7}' max='{!v.property.Price__c * 1.3}' type='range' value='{!v.property.Price__c}'
|
||||
step="1000" onchange='{!c.onPriceChange}' oninput='{!c.onPriceInput}'/>
|
||||
</div>
|
||||
<div class="right">
|
||||
<h1><span aura:id="days"></span> days</h1>
|
||||
<div aura:id="bar" style="{! 'width:' + v.days / 90 * 100 + '%;background-color:' + v.color }" class="bar"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</aura:if>
|
||||
|
||||
<aura:if isTrue="{! v.waiting }">
|
||||
<lightning:spinner size="large"/>
|
||||
</aura:if>
|
||||
|
||||
</lightning:card>
|
||||
|
||||
</aura:component>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||
<apiVersion>41.0</apiVersion>
|
||||
<description>A Lightning Component Bundle</description>
|
||||
</AuraDefinitionBundle>
|
|
@ -1,80 +0,0 @@
|
|||
.THIS {
|
||||
position:relative;
|
||||
}
|
||||
|
||||
.THIS .slds-card__body {
|
||||
height: 140px;
|
||||
}
|
||||
|
||||
.THIS h1 {
|
||||
font-weight: 300;
|
||||
color: #0070D2;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.THIS .hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.THIS .container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.THIS .left {
|
||||
text-align: center;
|
||||
width: 160px;
|
||||
margin-right: 20px
|
||||
}
|
||||
|
||||
.THIS .right {
|
||||
border-left: solid 1px #DDDDDD;
|
||||
text-align: center;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.THIS .slider {
|
||||
display: block;
|
||||
width:100%;
|
||||
margin: 8px 0 16px 0;
|
||||
}
|
||||
|
||||
.THIS .bar {
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
height: 60px;
|
||||
width: 1px;
|
||||
background-color: green;
|
||||
transition: all 2s ease-in-out;
|
||||
border-radius: 0 4px 4px 0;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.THIS .slds-card__body {
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.THIS .slds-icon-standard-solution {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.THIS .slds-icon-standard-solution svg {
|
||||
fill: #54698D;
|
||||
}
|
||||
|
||||
.THIS .select {
|
||||
padding-top: 50px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.THIS .summary {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.THIS lightning-slider .slds-slider__value,
|
||||
.THIS lightning-slider label {
|
||||
display: none;
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
<design:component label="Days on Market Estimator">
|
||||
|
||||
</design:component>
|
|
@ -1,41 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="88.316px" height="88.318px" viewBox="0 0 88.316 88.318" enable-background="new 0 0 88.316 88.318" xml:space="preserve">
|
||||
<g id="Layer_1_copy">
|
||||
<path fill="#EA74A2" d="M88.316,73.268c0,8.312-6.738,15.051-15.054,15.051H15.05C6.737,88.319,0,81.581,0,73.268V15.052
|
||||
C0,6.74,6.737,0,15.05,0h58.215c8.312,0,15.054,6.74,15.054,15.052L88.316,73.268L88.316,73.268z"/>
|
||||
</g>
|
||||
<g id="Layer_5">
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M77.931,50.581H40.867c-0.722,0-1.354,0.633-1.354,1.356v22.146c0,1.99,1.627,3.616,3.615,3.616h32.543
|
||||
c1.99,0,3.616-1.626,3.616-3.616V51.937C79.287,51.214,78.654,50.581,77.931,50.581z M53.072,70.469
|
||||
c0,0.544-0.362,0.903-0.904,0.903h-3.616c-0.543,0-0.902-0.359-0.902-0.903v-3.615c0-0.543,0.359-0.904,0.902-0.904h3.616
|
||||
c0.542,0,0.904,0.361,0.904,0.904V70.469z M53.072,61.427c0,0.544-0.362,0.904-0.904,0.904h-3.616
|
||||
c-0.543,0-0.902-0.36-0.902-0.904v-3.615c0-0.543,0.359-0.903,0.902-0.903h3.616c0.542,0,0.904,0.36,0.904,0.903V61.427z
|
||||
M62.111,70.469c0,0.544-0.362,0.903-0.903,0.903h-3.616c-0.543,0-0.903-0.359-0.903-0.903v-3.615c0-0.543,0.36-0.904,0.903-0.904
|
||||
h3.616c0.541,0,0.903,0.361,0.903,0.904V70.469z M62.111,61.427c0,0.544-0.362,0.904-0.903,0.904h-3.616
|
||||
c-0.543,0-0.903-0.36-0.903-0.904v-3.615c0-0.543,0.36-0.903,0.903-0.903h3.616c0.541,0,0.903,0.36,0.903,0.903V61.427z
|
||||
M71.151,70.469c0,0.544-0.362,0.903-0.904,0.903h-3.615c-0.542,0-0.903-0.359-0.903-0.903v-3.615
|
||||
c0-0.543,0.361-0.904,0.903-0.904h3.615c0.542,0,0.904,0.361,0.904,0.904V70.469z M71.151,61.427c0,0.544-0.362,0.904-0.904,0.904
|
||||
h-3.615c-0.542,0-0.903-0.36-0.903-0.904v-3.615c0-0.543,0.361-0.903,0.903-0.903h3.615c0.542,0,0.904,0.36,0.904,0.903V61.427z
|
||||
M75.671,38.829h-4.52v-1.808c0-1.447-1.175-2.712-2.712-2.712c-1.447,0-2.712,1.175-2.712,2.712v1.808H53.072v-1.808
|
||||
c0-1.447-1.175-2.712-2.712-2.712c-1.447,0-2.712,1.175-2.712,2.712v1.808h-4.521c-1.987,0-3.616,1.628-3.616,3.616v2.261
|
||||
c0,0.722,0.634,1.355,1.355,1.355H77.93c0.723,0,1.354-0.635,1.354-1.355v-2.261C79.287,40.457,77.661,38.829,75.671,38.829z"/>
|
||||
</g>
|
||||
<path fill="#FFFFFF" d="M32.7,30.25c-0.4-0.398-1-0.398-1.4,0L7.4,54.15c-1.2,1.199-1.2,3,0,4.199s3,1.199,4.2,0L35.5,34.45
|
||||
c0.4-0.4,0.4-1,0-1.4L32.7,30.25z"/>
|
||||
<path fill="#FFFFFF" d="M39.7,30.25l3.2-3.2c0.6-0.6,0.6-1.5,0-2.1l-2.102-2.1c-0.6-0.602-1.5-0.602-2.1,0l-3.2,3.198
|
||||
c-0.399,0.4-0.399,1,0,1.4l2.8,2.8C38.7,30.649,39.3,30.649,39.7,30.25z"/>
|
||||
<path fill="#FFFFFF" d="M14.9,20.85c3.8,1.198,6.8,4.1,8,8c0.2,0.6,1,0.6,1.2,0c1.199-3.802,4.1-6.802,8-8
|
||||
c0.601-0.201,0.601-1,0-1.201c-3.801-1.199-6.801-4.101-8-8c-0.2-0.601-1-0.601-1.2,0c-1.2,3.8-4.101,6.8-8,8
|
||||
C14.4,19.85,14.4,20.649,14.9,20.85z"/>
|
||||
<path fill="#FFFFFF" d="M42.8,17.649c2.602,0.801,4.5,2.701,5.301,5.301c0.101,0.4,0.699,0.4,0.801,0c0.8-2.6,2.699-4.5,5.3-5.301
|
||||
c0.399-0.101,0.399-0.699,0-0.799c-2.601-0.802-4.5-2.701-5.3-5.302c-0.102-0.399-0.7-0.399-0.801,0
|
||||
c-0.801,2.601-2.699,4.5-5.301,5.302C42.4,16.95,42.4,17.55,42.8,17.649z"/>
|
||||
<path fill="#FFFFFF" d="M42.875,34.91c3.8,1.199,6.8,4.1,8,8c0.201,0.6,1,0.6,1.201,0c1.199-3.801,4.1-6.801,7.999-8
|
||||
c0.601-0.201,0.601-1,0-1.201c-3.8-1.199-6.8-4.1-7.999-8c-0.201-0.6-1-0.6-1.201,0c-1.199,3.801-4.1,6.801-8,8
|
||||
C42.375,33.91,42.375,34.709,42.875,34.91z"/>
|
||||
</g>
|
||||
</svg>
|
До Ширина: | Высота: | Размер: 3.5 KiB |
|
@ -1,41 +0,0 @@
|
|||
({
|
||||
onRecordSelected : function(component, event) {
|
||||
var id = event.getParam("recordId");
|
||||
component.set("v.recordId", id);
|
||||
var service = component.find("propertyService");
|
||||
service.reloadRecord();
|
||||
},
|
||||
|
||||
onRecordUpdated : function(component, event, helper) {
|
||||
var changeType = event.getParams().changeType;
|
||||
if (changeType === "CHANGED") {
|
||||
var service = component.find("propertyService");
|
||||
service.reloadRecord();
|
||||
} else {
|
||||
var property = component.get("v.property");
|
||||
helper.setFormattedPrice(component, property.Price__c);
|
||||
helper.calculateDays(component, helper, property.Price__c);
|
||||
}
|
||||
},
|
||||
|
||||
// Sliding price range input
|
||||
onPriceInput: function(component, event, helper) {
|
||||
helper.setFormattedPrice(component, event.target.value);
|
||||
},
|
||||
|
||||
// Releasing price range input
|
||||
onPriceChange: function(component, event, helper) {
|
||||
var property = component.get("v.property");
|
||||
var newPrice = event.target.value;
|
||||
property.Price__c = newPrice;
|
||||
helper.calculateDays(component, helper, newPrice);
|
||||
},
|
||||
|
||||
onSavePriceBtnClicked : function(component) {
|
||||
var property = component.get("v.property");
|
||||
if (property) {
|
||||
component.find("propertyService").saveRecord();
|
||||
}
|
||||
}
|
||||
|
||||
})
|
|
@ -1,55 +0,0 @@
|
|||
({
|
||||
setFormattedPrice: function(component, price) {
|
||||
var formattedPrice = Number(price).toLocaleString("en-US", {style: "currency", currency: 'USD'});
|
||||
component.set("v.formattedPrice", formattedPrice);
|
||||
},
|
||||
|
||||
calculateDays: function(component, helper, price) {
|
||||
var property = component.get("v.property");
|
||||
var ellapsed = (new Date() - new Date(property.Date_Listed__c)) / 24 / 60 / 60 / 1000;
|
||||
var currentDays = component.get("v.days") || ellapsed;
|
||||
component.set("v.waiting", true);
|
||||
helper.predictDaysOnMarket(component, property, price, function(days) {
|
||||
if (component.isValid()) {
|
||||
component.set("v.waiting", false);
|
||||
var color = '#00716B';
|
||||
if (days > 60) {
|
||||
color = '#C23934';
|
||||
} else if (days > 30) {
|
||||
color = '#FFB75D';
|
||||
}
|
||||
component.set("v.color", color);
|
||||
var daysEl = component.find("days").getElement();
|
||||
var daysAnim = new CountUp(daysEl, currentDays, days, 0, 2);
|
||||
daysAnim.start();
|
||||
component.set("v.days", days);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
predictDaysOnMarket: function(component, property, price, callback) {
|
||||
// Stubbed service call. Make call to PredictionIO here.
|
||||
// More info: http://www.dreamhouseapp.io/pio/
|
||||
window.setTimeout($A.getCallback(function() {
|
||||
if (component.isValid()) {
|
||||
var days;
|
||||
var assessedValue = property.Assessed_Value__c;
|
||||
if (price < assessedValue) {
|
||||
days = 2;
|
||||
} else if (price < assessedValue * 1.1) {
|
||||
days = price / assessedValue * 10;
|
||||
} else if (price < assessedValue * 1.2) {
|
||||
days = price / assessedValue * 30;
|
||||
} else if (price < assessedValue * 1.3) {
|
||||
days = price / assessedValue * 40;
|
||||
} else if (price < assessedValue * 1.4) {
|
||||
days = price / assessedValue * 60;
|
||||
} else {
|
||||
days = 90;
|
||||
}
|
||||
callback(days);
|
||||
}
|
||||
}), 300);
|
||||
}
|
||||
|
||||
})
|
|
@ -1,6 +0,0 @@
|
|||
<aura:documentation>
|
||||
<aura:description>Documentation</aura:description>
|
||||
<aura:example name="ExampleName" ref="exampleComponentName" label="Label">
|
||||
Example Description
|
||||
</aura:example>
|
||||
</aura:documentation>
|
|
@ -1,33 +0,0 @@
|
|||
<aura:component implements="lightning:availableForFlowScreens" controller="PropertyController" access="global">
|
||||
|
||||
<aura:attribute name="recordId" type="String" access="global" />
|
||||
<aura:attribute name="columns" type="List" />
|
||||
<aura:attribute name="comparableProperties" type="List" />
|
||||
|
||||
<aura:handler name="init" value="{! this }" action="{! c.onInit }"/>
|
||||
|
||||
<div>
|
||||
|
||||
<div class="slds-text-heading_medium slds-align_absolute-center title">Let's get this property moving!</div>
|
||||
<div class="slds-text-heading_small slds-align_absolute-center title">Step 1: Compare Similar Properties</div>
|
||||
|
||||
<lightning:progressIndicator currentStep="step1">
|
||||
<lightning:progressStep label="Comparable Listings" value="step1" />
|
||||
<lightning:progressStep label="Adjust Price" value="step2" />
|
||||
<lightning:progressStep label="Add Pictures" value="step3" />
|
||||
<lightning:progressStep label="Complete" value="step4" />
|
||||
</lightning:progressIndicator>
|
||||
|
||||
<lightning:layout >
|
||||
<lightning:layoutItem >
|
||||
<c:PropertyView recordId="{!v.recordId}"/>
|
||||
</lightning:layoutItem>
|
||||
<lightning:layoutItem class="content">
|
||||
<header>First, examine how your listing stacks up against comparable properties nearby. Here is a list of competitive listings:</header>
|
||||
<lightning:datatable data="{!v.comparableProperties}" columns="{!v.columns}" keyField="Id" hideCheckboxColumn="true" />
|
||||
</lightning:layoutItem>
|
||||
</lightning:layout>
|
||||
|
||||
</div>
|
||||
|
||||
</aura:component>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AuraDefinitionBundle xmlns="urn:metadata.tooling.soap.sforce.com" fqn="FlowScreenCompList">
|
||||
<apiVersion>42.0</apiVersion>
|
||||
<description>A Lightning Component Bundle</description>
|
||||
</AuraDefinitionBundle>
|
|
@ -1,32 +0,0 @@
|
|||
.THIS {
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
.THIS header {
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.THIS .content {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
padding-left: 24px;
|
||||
}
|
||||
|
||||
.THIS .slds-progress {
|
||||
margin-top: 8px;
|
||||
margin-bottom: 36px;
|
||||
}
|
||||
|
||||
.THIS lightning-datatable {
|
||||
position: absolute;
|
||||
left: 24px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.THIS .title {
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
.THIS .slds-grid {
|
||||
margin-top: 0 !important;
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
<design:component >
|
||||
<design:attribute name="recordId" label="Record Id" />
|
||||
</design:component>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
|
||||
<path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
|
||||
</g>
|
||||
</svg>
|
До Ширина: | Высота: | Размер: 661 B |
|
@ -1,25 +0,0 @@
|
|||
({
|
||||
onInit: function(component, event, helper) {
|
||||
|
||||
component.set('v.columns', [
|
||||
{label: 'Address', fieldName: 'Address__c', type: 'text', initialWidth: 150},
|
||||
{label: 'City', fieldName: 'City__c', type: 'text'},
|
||||
{label: 'Zip', fieldName: 'Zip__c', type: 'text'},
|
||||
{label: 'Beds', fieldName: 'Beds__c', type: 'number'},
|
||||
{label: 'Baths', fieldName: 'Baths__c', type: 'number'},
|
||||
{label: 'Price', fieldName: 'Price__c', type: 'currency'},
|
||||
]);
|
||||
|
||||
var action = component.get("c.getComparableProperties");
|
||||
action.setStorable();
|
||||
action.setParams({
|
||||
propertyId: component.get("v.recordId")
|
||||
});
|
||||
action.setCallback(this, function(response){
|
||||
component.set("v.comparableProperties", response.getReturnValue());
|
||||
});
|
||||
$A.enqueueAction(action);
|
||||
|
||||
},
|
||||
|
||||
})
|
|
@ -1,16 +0,0 @@
|
|||
({
|
||||
loadComparableRentals : function(component) {
|
||||
|
||||
var properties = [
|
||||
{Id: "1", Address__c: "121 N Halsted St", City__c: "Boston", Zip__c: "61633", Beds__c: 3, Baths__c: 2, Sqft__c: 800, Price__c: 565000, Days_Prediction__c: 7},
|
||||
{Id: "2", Address__c: "303 W Bittersweet Pl", City__c: "Boston", Zip__c: "60622", Beds__c: 3, Baths__c: 2, Sqft__c: 1250, Price__c: 550000, Days_Prediction__c: 8},
|
||||
{Id: "3", Address__c: "443 S Hermitage Ave", City__c: "Boston", Zip__c: "62633", Beds__c: 3, Baths__c: 2, Sqft__c: 1300, Price__c: 590000, Days_Prediction__c: 12},
|
||||
{Id: "4", Address__c: "350 S Lake Shore Dr", City__c: "Boston", Zip__c: "60622", Beds__c: 3, Baths__c: 2, Sqft__c: 1300, Price__c: 575000, Days_Prediction__c: 3},
|
||||
{Id: "5", Address__c: "66 E Roosevelet St", City__c: "Boston", Zip__c: "60533", Beds__c: 3, Baths__c: 2, Sqft__c: 1250, Price__c: 580000, Days_Prediction__c: 2},
|
||||
{Id: "6", Address__c: "720 S Archer Ave", City__c: "Boston", Zip__c: "60633", Beds__c: 3, Baths__c: 2, Sqft__c: 1500, Price__c: 560000, Days_Prediction__c: 12},
|
||||
];
|
||||
|
||||
component.set('v.properties', properties);
|
||||
|
||||
}
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
|
||||
// Your renderer method overrides go here
|
||||
|
||||
})
|
|
@ -1,6 +0,0 @@
|
|||
<aura:documentation>
|
||||
<aura:description>Documentation</aura:description>
|
||||
<aura:example name="ExampleName" ref="exampleComponentName" label="Label">
|
||||
Example Description
|
||||
</aura:example>
|
||||
</aura:documentation>
|
|
@ -1,44 +0,0 @@
|
|||
<aura:component implements="lightning:availableForFlowScreens" access="global">
|
||||
|
||||
<aura:attribute name="recordId" type="String" default="" access="global" />
|
||||
<aura:attribute name="property" type="Property__c" />
|
||||
|
||||
<force:recordData aura:id="propertyService" recordId="{!v.recordId}"
|
||||
targetFields="{!v.property}" fields="['Id','Price__c']" />
|
||||
|
||||
<div>
|
||||
|
||||
<div class="slds-text-heading_medium slds-align_absolute-center title">Let's get this property moving!</div>
|
||||
<div class="slds-text-heading_small slds-align_absolute-center title">Step 4: You are Done!</div>
|
||||
|
||||
<lightning:progressIndicator currentStep="step4">
|
||||
<lightning:progressStep label="Comparable Rentals" value="step1" />
|
||||
<lightning:progressStep label="Adjust Price" value="step2" />
|
||||
<lightning:progressStep label="Add Pictures" value="step3" />
|
||||
<lightning:progressStep label="Complete" value="step4" />
|
||||
</lightning:progressIndicator>
|
||||
|
||||
<lightning:layout >
|
||||
<lightning:layoutItem >
|
||||
<c:PropertyView recordId="{!v.recordId}" />
|
||||
</lightning:layoutItem>
|
||||
<lightning:layoutItem flexibility="grow" class="content">
|
||||
<div class="icon-container slds-align_absolute-center">
|
||||
<lightning:icon iconName="action:approval" size="large" />
|
||||
</div>
|
||||
<header class="slds-text-heading_small slds-align_absolute-center">Congratulations! You fixed several issues related to this listing.</header>
|
||||
<div class="slds-align_absolute-center">
|
||||
<ul class="slds-list_dotted">
|
||||
<li>You compared this listing to comparable properties in the neighborhood.</li>
|
||||
<li>You set the price to <lightning:formattedNumber value="{!v.property.Price__c}" style="currency" currencyCode="USD" minimumFractionDigits="0" maximumFractionDigits="0"/></li>
|
||||
<li>Interested buyers have been notified of the new price.</li>
|
||||
<li>You have added pictures to the listing.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer slds-align_absolute-center">This listing now compares favorably with similar properties in the neighborhood.</div>
|
||||
</lightning:layoutItem>
|
||||
</lightning:layout>
|
||||
|
||||
</div>
|
||||
|
||||
</aura:component>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AuraDefinitionBundle xmlns="urn:metadata.tooling.soap.sforce.com" fqn="FlowScreenComplete">
|
||||
<apiVersion>42.0</apiVersion>
|
||||
<description>A Lightning Component Bundle</description>
|
||||
</AuraDefinitionBundle>
|
|
@ -1,28 +0,0 @@
|
|||
.THIS {
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
.THIS header {
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.THIS .content {
|
||||
padding-left: 24px;
|
||||
}
|
||||
|
||||
.THIS .slds-progress {
|
||||
margin-top: 8px;
|
||||
margin-bottom: 36px;
|
||||
}
|
||||
|
||||
.THIS .icon-container {
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.THIS .footer {
|
||||
padding-top: 12px;
|
||||
}
|
||||
|
||||
.THIS .title {
|
||||
padding-top: 4px;
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
<design:component >
|
||||
<design:attribute name="recordId" label="Property Id" />
|
||||
</design:component>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
|
||||
<path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
|
||||
</g>
|
||||
</svg>
|
До Ширина: | Высота: | Размер: 661 B |
|
@ -1,4 +0,0 @@
|
|||
({
|
||||
myMethod : function(component, event, helper) {
|
||||
},
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
helperMethod : function() {
|
||||
|
||||
}
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
|
||||
// Your renderer method overrides go here
|
||||
|
||||
})
|
|
@ -1,6 +0,0 @@
|
|||
<aura:documentation>
|
||||
<aura:description>Documentation</aura:description>
|
||||
<aura:example name="ExampleName" ref="exampleComponentName" label="Label">
|
||||
Example Description
|
||||
</aura:example>
|
||||
</aura:documentation>
|
|
@ -1,48 +0,0 @@
|
|||
<aura:component implements="lightning:availableForFlowScreens" controller="PropertyController" access="global">
|
||||
|
||||
<aura:attribute name="recordId" type="String" default="" access="global" />
|
||||
<aura:attribute name="files" type="Object[]" />
|
||||
|
||||
<aura:handler name="init" value="{! this }" action="{! c.onInit }"/>
|
||||
|
||||
<div>
|
||||
|
||||
<div class="slds-text-heading_medium slds-align_absolute-center title">Let's get this property moving!</div>
|
||||
<div class="slds-text-heading_small slds-align_absolute-center title">Step 3: Add More Pictures</div>
|
||||
|
||||
<lightning:progressIndicator currentStep="step3">
|
||||
<lightning:progressStep label="Comparable Rentals" value="step1" />
|
||||
<lightning:progressStep label="Adjust Price" value="step2" />
|
||||
<lightning:progressStep label="Add Pictures" value="step3" />
|
||||
<lightning:progressStep label="Complete" value="step4" />
|
||||
</lightning:progressIndicator>
|
||||
|
||||
<lightning:layout >
|
||||
<lightning:layoutItem >
|
||||
<c:PropertyView recordId="{!v.recordId}"/>
|
||||
</lightning:layoutItem>
|
||||
<lightning:layoutItem flexibility="grow" class="content">
|
||||
<header>This property has {!v.files.length} pictures. Properties that have more pictures sell faster. Use this screen to add pictures.</header>
|
||||
|
||||
<aura:if isTrue="{!v.files.length > 0}">
|
||||
<lightning:carousel disableAutoRefresh="false" disableAutoScroll="true" class="slds-align_absolute-center">
|
||||
<aura:iteration items="{!v.files}" var="file" indexVar="index">
|
||||
<lightning:carouselImage src="{! '/sfc/servlet.shepherd/version/download/' + file.Id}" />
|
||||
</aura:iteration>
|
||||
</lightning:carousel>
|
||||
<aura:set attribute="else">
|
||||
<div class="no-pic-msg">
|
||||
<div class="slds-align_absolute-center"><lightning:icon iconName="utility:photo" size="large" /></div>
|
||||
<div class="slds-align_absolute-center">There are currently no pictures for this property.</div>
|
||||
</div>
|
||||
</aura:set>
|
||||
</aura:if>
|
||||
|
||||
<lightning:fileUpload label="Add picture" multiple="true" accept=".jpg, .png, .gif" recordId="{!v.recordId}" onuploadfinished="{!c.onUploadFinished}" class="slds-align_absolute-center"/>
|
||||
|
||||
</lightning:layoutItem>
|
||||
</lightning:layout>
|
||||
|
||||
</div>
|
||||
|
||||
</aura:component>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AuraDefinitionBundle xmlns="urn:metadata.tooling.soap.sforce.com" fqn="FlowScreenImageUpload">
|
||||
<apiVersion>42.0</apiVersion>
|
||||
<description>A Lightning Component Bundle</description>
|
||||
</AuraDefinitionBundle>
|
|
@ -1,38 +0,0 @@
|
|||
.THIS {
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
.THIS .slds-carousel {
|
||||
width: 200px;
|
||||
max-width: inherit;
|
||||
}
|
||||
|
||||
.THIS .slds-carousel__image>img {
|
||||
width: 200px;
|
||||
max-height: 190px;
|
||||
}
|
||||
|
||||
.THIS header {
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.THIS .content {
|
||||
padding-left: 24px;
|
||||
}
|
||||
|
||||
.THIS .slds-progress {
|
||||
margin-top: 8px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.THIS .slds-carousel__content {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.THIS .title {
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
.THIS .no-pic-msg {
|
||||
margin: 12px 0 24px 0;
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
<design:component >
|
||||
<design:attribute name="recordId" label="Property Id" />
|
||||
</design:component>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
|
||||
<path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
|
||||
</g>
|
||||
</svg>
|
До Ширина: | Высота: | Размер: 661 B |
|
@ -1,14 +0,0 @@
|
|||
({
|
||||
onInit: function (component, event, helper) {
|
||||
helper.loadPictures(component);
|
||||
},
|
||||
|
||||
// onRecordChange: function (component, event, helper) {
|
||||
// helper.loadPictures(component);
|
||||
// },
|
||||
|
||||
onUploadFinished: function (component, event, helper) {
|
||||
helper.loadPictures(component);
|
||||
}
|
||||
|
||||
})
|
|
@ -1,30 +0,0 @@
|
|||
({
|
||||
loadPictures : function(component) {
|
||||
var propertyId = component.get("v.recordId");
|
||||
if (!propertyId) {
|
||||
return;
|
||||
}
|
||||
component.set("v.files", []);
|
||||
var action = component.get("c.getPictures");
|
||||
action.setParams({
|
||||
"propertyId": propertyId,
|
||||
});
|
||||
action.setCallback(this, function (response) {
|
||||
var files = component.get("v.files");
|
||||
var newFiles = response.getReturnValue();
|
||||
if (!newFiles) {
|
||||
return;
|
||||
}
|
||||
if (!files) {
|
||||
files = [];
|
||||
} else {
|
||||
for (var i=files.length;i<newFiles.length; i++) {
|
||||
console.log(newFiles[i]);
|
||||
files.push(newFiles[i]);
|
||||
}
|
||||
}
|
||||
component.set("v.files", files);
|
||||
});
|
||||
$A.enqueueAction(action);
|
||||
}
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
|
||||
// Your renderer method overrides go here
|
||||
|
||||
})
|
|
@ -1,6 +0,0 @@
|
|||
<aura:documentation>
|
||||
<aura:description>Documentation</aura:description>
|
||||
<aura:example name="ExampleName" ref="exampleComponentName" label="Label">
|
||||
Example Description
|
||||
</aura:example>
|
||||
</aura:documentation>
|
|
@ -1,38 +0,0 @@
|
|||
<aura:component implements="lightning:availableForFlowScreens" access="global">
|
||||
|
||||
<aura:attribute name="recordId" type="String" access="global" />
|
||||
<aura:attribute name="property" type="Property__c" />
|
||||
|
||||
<force:recordData aura:id="propertyService" recordId="{!v.recordId}" targetFields="{!v.property}" fields="['Id','Price__c']" mode="EDIT"/>
|
||||
|
||||
<div>
|
||||
|
||||
<div class="slds-text-heading_medium slds-align_absolute-center title">Let's get this property moving!</div>
|
||||
<div class="slds-text-heading_small slds-align_absolute-center title">Step 2: Compare and Adjust Price</div>
|
||||
|
||||
<lightning:progressIndicator currentStep="step2">
|
||||
<lightning:progressStep label="Comparable Rentals" value="step1" />
|
||||
<lightning:progressStep label="Adjust Price" value="step2" />
|
||||
<lightning:progressStep label="Add Pictures" value="step3" />
|
||||
<lightning:progressStep label="Complete" value="step4" />
|
||||
</lightning:progressIndicator>
|
||||
|
||||
<lightning:layout >
|
||||
<lightning:layoutItem >
|
||||
<c:PropertyView recordId="{!v.recordId}"/>
|
||||
</lightning:layoutItem>
|
||||
<lightning:layoutItem flexibility="grow" class="content">
|
||||
<header>Use the tool below to adjust the price of your property based on comparable listings nearby.</header>
|
||||
<div class="slds-align_absolute-center">
|
||||
<c:PriceOptimizationWidget price="{!v.property.Price__c}" />
|
||||
</div>
|
||||
<div class="slds-align_absolute-center">
|
||||
<lightning:slider label="Price" step="5000" min="400000" max="650000" value="{!v.property.Price__c}" onchange="{!c.onPriceChange}" class="slider"/>
|
||||
<lightning:buttonIcon iconName="utility:check" onclick="{!c.savePrice}" class="check-btn"/>
|
||||
</div>
|
||||
</lightning:layoutItem>
|
||||
</lightning:layout>
|
||||
|
||||
</div>
|
||||
|
||||
</aura:component>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AuraDefinitionBundle xmlns="urn:metadata.tooling.soap.sforce.com" fqn="FlowScreenPriceChange">
|
||||
<apiVersion>42.0</apiVersion>
|
||||
<description>A Lightning Component Bundle</description>
|
||||
</AuraDefinitionBundle>
|
|
@ -1,42 +0,0 @@
|
|||
.THIS {
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
.THIS header {
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.THIS .content {
|
||||
padding-left: 24px;
|
||||
}
|
||||
|
||||
.THIS .slds-progress {
|
||||
margin-top: 8px;
|
||||
margin-bottom: 36px;
|
||||
}
|
||||
|
||||
.THIS .slider > .slds-form-element {
|
||||
width: 450px;
|
||||
}
|
||||
|
||||
.THIS .slds-slider__value {
|
||||
font-size: 1.2rem;
|
||||
color: #1A4F93;
|
||||
}
|
||||
|
||||
.THIS .slds-slider__value::before {
|
||||
content: "$";
|
||||
}
|
||||
|
||||
.THIS .title {
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
.THIS .check-btn {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.THIS .slds-slider-label__range {
|
||||
display:none;
|
||||
height: 0;
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
<design:component >
|
||||
<design:attribute name="recordId" label="Property Id" />
|
||||
</design:component>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
|
||||
<path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
|
||||
</g>
|
||||
</svg>
|
До Ширина: | Высота: | Размер: 661 B |
|
@ -1,14 +0,0 @@
|
|||
({
|
||||
|
||||
onPriceChange : function(component, event, helper) {
|
||||
var property = component.get("v.property");
|
||||
property.Price__c = event.getParam("value");
|
||||
},
|
||||
|
||||
savePrice : function(component, event, helper) {
|
||||
component.find("propertyService").saveRecord($A.getCallback(function(saveResult) {
|
||||
}));
|
||||
},
|
||||
|
||||
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
helperMethod : function() {
|
||||
|
||||
}
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
|
||||
// Your renderer method overrides go here
|
||||
|
||||
})
|
|
@ -1,6 +0,0 @@
|
|||
<aura:documentation>
|
||||
<aura:description>Documentation</aura:description>
|
||||
<aura:example name="ExampleName" ref="exampleComponentName" label="Label">
|
||||
Example Description
|
||||
</aura:example>
|
||||
</aura:documentation>
|
|
@ -1,50 +0,0 @@
|
|||
<aura:component implements="flexipage:availableForAllPageTypes,force:hasRecordId" access="global">
|
||||
|
||||
<aura:attribute name="recordId" type="Id" />
|
||||
<aura:attribute name="property" type="Property__c" />
|
||||
|
||||
<force:recordData recordId="{!v.recordId}" targetFields="{!v.property}" fields="['Id', 'Predicted_Days_on_Market__c']" />
|
||||
|
||||
<article class="slds-card">
|
||||
<div class="slds-grid slds-einstein-header slds-card__header">
|
||||
<header class="slds-media slds-media_center slds-has-flexi-truncate">
|
||||
<div class="slds-grid slds-grid_vertical-align-center slds-size_3-of-4 slds-medium-size_2-of-3">
|
||||
<div class="slds-media__body">
|
||||
<h2 class="slds-truncate" title="Einstein (10+)">
|
||||
<a href="javascript:void(0);" class="slds-card__header-link" title="Einstein (10+)">
|
||||
<span class="slds-text-heading_small">Predicted Days on Market</span>
|
||||
</a>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="slds-einstein-header__figure slds-size_1-of-4 slds-medium-size_1-of-3"></div>
|
||||
</header>
|
||||
</div>
|
||||
<div class="slds-card__body slds-card__body_inner">
|
||||
<div class="prediction slds-align_absolute-center">{!v.property.Predicted_Days_on_Market__c}</div>
|
||||
<lightning:layout>
|
||||
<lightning:layoutItem size="6">
|
||||
<div class="factors">
|
||||
<h2>Top positive factors</h2>
|
||||
<ul>
|
||||
<li><span class="ring-green"></span>Location</li>
|
||||
<li><span class="ring-green"></span>Amenities</li>
|
||||
<li><span class="ring-green"></span>School district</li>
|
||||
</ul>
|
||||
</div>
|
||||
</lightning:layoutItem>
|
||||
<lightning:layoutItem size="6">
|
||||
<div class="factors">
|
||||
<h2>Top negative factors</h2>
|
||||
<ul>
|
||||
<li><span class="ring-red"></span>Number of pictures</li>
|
||||
<li><span class="ring-red"></span>Price</li>
|
||||
<li><span class="ring-red"></span>Number of open houses</li>
|
||||
</ul>
|
||||
</div>
|
||||
</lightning:layoutItem>
|
||||
</lightning:layout>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</aura:component>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AuraDefinitionBundle xmlns="urn:metadata.tooling.soap.sforce.com" fqn="PredictedDaysOnMarket">
|
||||
<apiVersion>42.0</apiVersion>
|
||||
<description>A Lightning Component Bundle</description>
|
||||
</AuraDefinitionBundle>
|
|
@ -1,48 +0,0 @@
|
|||
.THIS {
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
.THIS .prediction {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
text-align: center;
|
||||
/* padding: 12px; */
|
||||
border: solid 3px #c23934;
|
||||
border-radius: 50%;
|
||||
color: #c23934;
|
||||
margin-bottom: 8px;
|
||||
/* margin: 8px auto; */
|
||||
font-size: 24px;
|
||||
/* font-weight: 300; */
|
||||
}
|
||||
|
||||
.THIS .factors {
|
||||
border: solid 1px #EEE;
|
||||
border-radius: 4px;
|
||||
text-align: left;
|
||||
margin: 0 4px;
|
||||
padding: 8px;
|
||||
height: 96px;
|
||||
}
|
||||
|
||||
.THIS .ring-red {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border: solid 2px #c23934;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.THIS .ring-green {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border: solid 2px #04844b;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.THIS .slds-card__body_inner {
|
||||
padding: 0 0.2rem;
|
||||
margin-bottom: .3rem;
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
<design:component label="Predicted Days On Market">
|
||||
|
||||
</design:component>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
|
||||
<path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
|
||||
</g>
|
||||
</svg>
|
До Ширина: | Высота: | Размер: 661 B |
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
myAction : function(component, event, helper) {
|
||||
|
||||
}
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
helperMethod : function() {
|
||||
|
||||
}
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
|
||||
// Your renderer method overrides go here
|
||||
|
||||
})
|
|
@ -1,52 +0,0 @@
|
|||
<aura:component implements="force:hasRecordId,flexipage:availableForAllPageTypes"
|
||||
access="global">
|
||||
|
||||
<!--
|
||||
Component that calculates/predicts the right price for a property.
|
||||
The prediction service is stubbed in this version of the component.
|
||||
-->
|
||||
|
||||
<ltng:require scripts="{!$Resource.countup7}" />
|
||||
|
||||
<aura:attribute name="recordId" type="Id" />
|
||||
<aura:attribute name="property" type="Property__c"/>
|
||||
<aura:attribute name="smartPrice" type="Long"/>
|
||||
<aura:attribute name="waiting" type="Boolean" default="false"/>
|
||||
|
||||
<force:recordData aura:id="propertyService"
|
||||
recordId="{!v.recordId}"
|
||||
targetFields="{!v.property}"
|
||||
fields="['Id', 'Price__c', 'Assessed_Value__c']"
|
||||
mode="EDIT"
|
||||
recordUpdated="{!c.onRecordUpdated}"/>
|
||||
|
||||
<aura:handler event="ltng:selectSObject" action="{!c.onRecordSelected}"/>
|
||||
|
||||
<lightning:card >
|
||||
<aura:set attribute="title">
|
||||
<lightning:icon iconName="utility:setup_assistant_guide" size="small"/>
|
||||
Smart Price Calculator
|
||||
</aura:set>
|
||||
<aura:set attribute="actions">
|
||||
<lightning:button label="Save as New Price" onclick="{!c.onSavePriceBtnClicked}"/>
|
||||
</aura:set>
|
||||
<aura:if isTrue="{!v.property==undefined}">
|
||||
<div aura:id="selectSection" class="select slds-text-color--weak">
|
||||
Select a property
|
||||
</div>
|
||||
</aura:if>
|
||||
<aura:if isTrue="{!v.property!=undefined}">
|
||||
<div aura:id="calculateSection">
|
||||
<h2>Current Price: <lightning:formattedNumber value="{!v.property.Price__c}" style="currency" currencyCode="USD"/></h2>
|
||||
<lightning:button label="Calculate Smart Price" onclick="{!c.onSmartPriceBtnClicked}"/>
|
||||
<h1><span aura:id="currency"/><span aura:id="smartPrice"/></h1>
|
||||
</div>
|
||||
</aura:if>
|
||||
|
||||
<aura:if isTrue="{! v.waiting }">
|
||||
<lightning:spinner size="large"/>
|
||||
</aura:if>
|
||||
|
||||
</lightning:card>
|
||||
|
||||
</aura:component>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||
<apiVersion>38.0</apiVersion>
|
||||
<description>A Lightning Component Bundle</description>
|
||||
</AuraDefinitionBundle>
|
|
@ -1,35 +0,0 @@
|
|||
.THIS {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.THIS .slds-card__body h1 {
|
||||
font-weight: 300;
|
||||
color: #0070D2;
|
||||
font-size: 24px;
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
.THIS .slds-card__body h2 {
|
||||
font-weight: 300;
|
||||
color: #0070D2;
|
||||
font-size: 18px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.THIS .slds-card__body {
|
||||
height: 120px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.THIS .slds-icon-standard-solution {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.THIS .slds-icon-standard-solution svg {
|
||||
fill: #54698D;
|
||||
}
|
||||
|
||||
.THIS .select {
|
||||
padding-top: 40px;
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
<design:component label="Smart Price Calculator">
|
||||
|
||||
</design:component>
|
|
@ -1,41 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="88.316px" height="88.318px" viewBox="0 0 88.316 88.318" enable-background="new 0 0 88.316 88.318" xml:space="preserve">
|
||||
<g id="Layer_1_copy">
|
||||
<path fill="#EA74A2" d="M88.316,73.268c0,8.312-6.738,15.051-15.054,15.051H15.05C6.737,88.319,0,81.581,0,73.268V15.052
|
||||
C0,6.74,6.737,0,15.05,0h58.215c8.312,0,15.054,6.74,15.054,15.052L88.316,73.268L88.316,73.268z"/>
|
||||
</g>
|
||||
<g id="Layer_5">
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M77.931,50.581H40.867c-0.722,0-1.354,0.633-1.354,1.356v22.146c0,1.99,1.627,3.616,3.615,3.616h32.543
|
||||
c1.99,0,3.616-1.626,3.616-3.616V51.937C79.287,51.214,78.654,50.581,77.931,50.581z M53.072,70.469
|
||||
c0,0.544-0.362,0.903-0.904,0.903h-3.616c-0.543,0-0.902-0.359-0.902-0.903v-3.615c0-0.543,0.359-0.904,0.902-0.904h3.616
|
||||
c0.542,0,0.904,0.361,0.904,0.904V70.469z M53.072,61.427c0,0.544-0.362,0.904-0.904,0.904h-3.616
|
||||
c-0.543,0-0.902-0.36-0.902-0.904v-3.615c0-0.543,0.359-0.903,0.902-0.903h3.616c0.542,0,0.904,0.36,0.904,0.903V61.427z
|
||||
M62.111,70.469c0,0.544-0.362,0.903-0.903,0.903h-3.616c-0.543,0-0.903-0.359-0.903-0.903v-3.615c0-0.543,0.36-0.904,0.903-0.904
|
||||
h3.616c0.541,0,0.903,0.361,0.903,0.904V70.469z M62.111,61.427c0,0.544-0.362,0.904-0.903,0.904h-3.616
|
||||
c-0.543,0-0.903-0.36-0.903-0.904v-3.615c0-0.543,0.36-0.903,0.903-0.903h3.616c0.541,0,0.903,0.36,0.903,0.903V61.427z
|
||||
M71.151,70.469c0,0.544-0.362,0.903-0.904,0.903h-3.615c-0.542,0-0.903-0.359-0.903-0.903v-3.615
|
||||
c0-0.543,0.361-0.904,0.903-0.904h3.615c0.542,0,0.904,0.361,0.904,0.904V70.469z M71.151,61.427c0,0.544-0.362,0.904-0.904,0.904
|
||||
h-3.615c-0.542,0-0.903-0.36-0.903-0.904v-3.615c0-0.543,0.361-0.903,0.903-0.903h3.615c0.542,0,0.904,0.36,0.904,0.903V61.427z
|
||||
M75.671,38.829h-4.52v-1.808c0-1.447-1.175-2.712-2.712-2.712c-1.447,0-2.712,1.175-2.712,2.712v1.808H53.072v-1.808
|
||||
c0-1.447-1.175-2.712-2.712-2.712c-1.447,0-2.712,1.175-2.712,2.712v1.808h-4.521c-1.987,0-3.616,1.628-3.616,3.616v2.261
|
||||
c0,0.722,0.634,1.355,1.355,1.355H77.93c0.723,0,1.354-0.635,1.354-1.355v-2.261C79.287,40.457,77.661,38.829,75.671,38.829z"/>
|
||||
</g>
|
||||
<path fill="#FFFFFF" d="M32.7,30.25c-0.4-0.398-1-0.398-1.4,0L7.4,54.15c-1.2,1.199-1.2,3,0,4.199s3,1.199,4.2,0L35.5,34.45
|
||||
c0.4-0.4,0.4-1,0-1.4L32.7,30.25z"/>
|
||||
<path fill="#FFFFFF" d="M39.7,30.25l3.2-3.2c0.6-0.6,0.6-1.5,0-2.1l-2.102-2.1c-0.6-0.602-1.5-0.602-2.1,0l-3.2,3.198
|
||||
c-0.399,0.4-0.399,1,0,1.4l2.8,2.8C38.7,30.649,39.3,30.649,39.7,30.25z"/>
|
||||
<path fill="#FFFFFF" d="M14.9,20.85c3.8,1.198,6.8,4.1,8,8c0.2,0.6,1,0.6,1.2,0c1.199-3.802,4.1-6.802,8-8
|
||||
c0.601-0.201,0.601-1,0-1.201c-3.801-1.199-6.801-4.101-8-8c-0.2-0.601-1-0.601-1.2,0c-1.2,3.8-4.101,6.8-8,8
|
||||
C14.4,19.85,14.4,20.649,14.9,20.85z"/>
|
||||
<path fill="#FFFFFF" d="M42.8,17.649c2.602,0.801,4.5,2.701,5.301,5.301c0.101,0.4,0.699,0.4,0.801,0c0.8-2.6,2.699-4.5,5.3-5.301
|
||||
c0.399-0.101,0.399-0.699,0-0.799c-2.601-0.802-4.5-2.701-5.3-5.302c-0.102-0.399-0.7-0.399-0.801,0
|
||||
c-0.801,2.601-2.699,4.5-5.301,5.302C42.4,16.95,42.4,17.55,42.8,17.649z"/>
|
||||
<path fill="#FFFFFF" d="M42.875,34.91c3.8,1.199,6.8,4.1,8,8c0.201,0.6,1,0.6,1.201,0c1.199-3.801,4.1-6.801,7.999-8
|
||||
c0.601-0.201,0.601-1,0-1.201c-3.8-1.199-6.8-4.1-7.999-8c-0.201-0.6-1-0.6-1.201,0c-1.199,3.801-4.1,6.801-8,8
|
||||
C42.375,33.91,42.375,34.709,42.875,34.91z"/>
|
||||
</g>
|
||||
</svg>
|
До Ширина: | Высота: | Размер: 3.5 KiB |
|
@ -1,44 +0,0 @@
|
|||
({
|
||||
onRecordSelected : function(component, event) {
|
||||
var id = event.getParam("recordId");
|
||||
component.set("v.recordId", id);
|
||||
var service = component.find("propertyService");
|
||||
service.reloadRecord();
|
||||
var smartPrice = component.find("smartPrice");
|
||||
if (smartPrice) {
|
||||
smartPrice.getElement().innerHTML = "";
|
||||
component.find("currency").getElement().innerHTML="";
|
||||
}
|
||||
},
|
||||
|
||||
onRecordUpdated : function(component, event) {
|
||||
var changeType = event.getParams().changeType;
|
||||
if (changeType === "CHANGED") {
|
||||
var service = component.find("propertyService");
|
||||
service.reloadRecord();
|
||||
}
|
||||
},
|
||||
|
||||
onSmartPriceBtnClicked : function(component, event, helper) {
|
||||
var property = component.get("v.property");
|
||||
if (property) {
|
||||
helper.getSmartPrice(component, function(smartPrice) {
|
||||
component.set("v.smartPrice", smartPrice);
|
||||
var smartPriceEl = component.find("smartPrice").getElement();
|
||||
var currencyEl = component.find("currency").getElement();
|
||||
currencyEl.innerHTML = '$';
|
||||
var numAnim = new CountUp(smartPriceEl, smartPrice * 0.8, smartPrice, 0, 2);
|
||||
numAnim.start();
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
onSavePriceBtnClicked : function(component, event) {
|
||||
var property = component.get("v.property");
|
||||
if (property) {
|
||||
property.Price__c = component.get("v.smartPrice");
|
||||
component.find("propertyService").saveRecord();
|
||||
}
|
||||
}
|
||||
|
||||
})
|
|
@ -1,15 +0,0 @@
|
|||
({
|
||||
getSmartPrice: function(component, callback) {
|
||||
// Stubbed service call. Make call to PredictionIO here.
|
||||
// More info: http://www.dreamhouseapp.io/pio/
|
||||
var property = component.get("v.property");
|
||||
component.set("v.waiting", true);
|
||||
window.setTimeout($A.getCallback(function() {
|
||||
component.set("v.waiting", false);
|
||||
if (component.isValid()) {
|
||||
var smartPrice = Math.round(property.Assessed_Value__c * 1.15 / 1000) * 1000;
|
||||
callback(smartPrice);
|
||||
}
|
||||
}), 300);
|
||||
}
|
||||
})
|
|
@ -1,6 +0,0 @@
|
|||
<aura:documentation>
|
||||
<aura:description>Documentation</aura:description>
|
||||
<aura:example name="ExampleName" ref="exampleComponentName" label="Label">
|
||||
Example Description
|
||||
</aura:example>
|
||||
</aura:documentation>
|
|
@ -1,32 +0,0 @@
|
|||
<aura:component implements="force:hasRecordId,flexipage:availableForAllPageTypes" access="global">
|
||||
|
||||
<aura:attribute name="recordId" type="Id" />
|
||||
<aura:attribute name="sObject" type="SObject" />
|
||||
<aura:attribute name="fullScreen" type="Boolean" default="false" />
|
||||
<aura:attribute name="fields" type="String[]" default="['Id']" />
|
||||
|
||||
<aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
|
||||
|
||||
<force:recordData aura:id="service"
|
||||
recordId="{!v.recordId}"
|
||||
targetFields="{!v.sObject}"
|
||||
fields="{!v.fields}"
|
||||
recordUpdated="{!c.onRecordUpdated}"/>
|
||||
|
||||
<div>
|
||||
<!-- <lightning:buttonIcon onclick="{!c.fullScreen}" size="large" variant="bare" class="btn-expand" iconName="utility:expand" /> -->
|
||||
<c:Viewer360Base onmaximize="{!c.onMaximize}"/>
|
||||
<aura:if isTrue="{!v.fullScreen==true}">
|
||||
<div role="dialog" tabindex="-1" aria-labelledby="header43" class="slds-modal slds-fade-in-open">
|
||||
<div class="slds-modal__container slds-card">
|
||||
<c:Viewer360Base onminimize="{!c.onMinimize}"/>
|
||||
</div>
|
||||
<!-- <div class="btn slds-modal__close close x-large">
|
||||
<lightning:buttonIcon variant="bare" onclick="{!c.closeDialog}" size="large" iconName="utility:close" />
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="slds-backdrop slds-backdrop--open"></div>
|
||||
</aura:if>
|
||||
</div>
|
||||
|
||||
</aura:component>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AuraDefinitionBundle xmlns="urn:metadata.tooling.soap.sforce.com" fqn="Viewer360">
|
||||
<apiVersion>42.0</apiVersion>
|
||||
<description>A Lightning Component Bundle</description>
|
||||
</AuraDefinitionBundle>
|
|
@ -1,33 +0,0 @@
|
|||
.THIS {
|
||||
position: relative;
|
||||
height: 220px;
|
||||
}
|
||||
|
||||
.THIS .slds-modal__container {
|
||||
margin-top: 120px;
|
||||
height: 75%;
|
||||
width: 90%;
|
||||
max-width: initial;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.THIS .slds-modal {
|
||||
}
|
||||
|
||||
.THIS .slds-modal__close {
|
||||
position: absolute;
|
||||
top: 100px;
|
||||
right: 5%;
|
||||
}
|
||||
|
||||
.THIS .title {
|
||||
padding-left: 10px;
|
||||
padding-top: 6px;
|
||||
}
|
||||
|
||||
.THIS .btn-expand {
|
||||
position: absolute;
|
||||
bottom: 8px;
|
||||
right: 10px;
|
||||
z-index: 20;
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
<design:component label="360 Viewer">
|
||||
|
||||
</design:component>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
|
||||
<path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
|
||||
</g>
|
||||
</svg>
|
До Ширина: | Высота: | Размер: 661 B |
|
@ -1,19 +0,0 @@
|
|||
({
|
||||
doInit : function(component) {
|
||||
},
|
||||
|
||||
onMaximize : function(component) {
|
||||
component.set("v.fullScreen", true);
|
||||
},
|
||||
|
||||
onMinimize : function(component) {
|
||||
component.set("v.fullScreen", false);
|
||||
},
|
||||
|
||||
closeDialog : function(component) {
|
||||
component.set("v.fullScreen", false);
|
||||
},
|
||||
|
||||
onRecordUpdated : function(component, event) {
|
||||
}
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
helperMethod : function() {
|
||||
|
||||
}
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
|
||||
// Your renderer method overrides go here
|
||||
|
||||
})
|
|
@ -1,6 +0,0 @@
|
|||
<aura:documentation>
|
||||
<aura:description>Documentation</aura:description>
|
||||
<aura:example name="ExampleName" ref="exampleComponentName" label="Label">
|
||||
Example Description
|
||||
</aura:example>
|
||||
</aura:documentation>
|
|
@ -1,28 +0,0 @@
|
|||
<aura:component controller="BotController" >
|
||||
|
||||
<aura:attribute name="isPlaying" type="boolean" default="false"/>
|
||||
|
||||
<aura:registerEvent name="onmaximize" type="c:Viewer360Event" />
|
||||
<aura:registerEvent name="onminimize" type="c:Viewer360Event" />
|
||||
|
||||
<div aura:id="container" class="slds-card">
|
||||
<aura:if isTrue="{!!v.isPlaying}">
|
||||
<div class="static" style="{! 'background-image: url(' + $Resource.three + '/images/exampleimage.jpg)'}"></div>
|
||||
</aura:if>
|
||||
<img src="{!$Resource.three + '/360logo2.svg'}" class="logo"/>
|
||||
<iframe aura:id="iframe" frameborder="0" border="0" cellspacing="0" />
|
||||
<div class="buttons-center">
|
||||
<aura:if isTrue="{!!v.isPlaying}">
|
||||
<lightning:buttonIcon iconName="utility:right" size="large" variant="bare" onclick="{! c.onPlay }" iconClass="control-btn"/>
|
||||
</aura:if>
|
||||
<aura:if isTrue="{!v.isPlaying}">
|
||||
<lightning:buttonIcon iconName="utility:pause" size="large" variant="bare" onclick="{! c.onStop }" iconClass="control-btn"/>
|
||||
</aura:if>
|
||||
</div>
|
||||
<div class="buttons-right">
|
||||
<lightning:buttonIcon onclick="{!c.onMaximize}" size="large" variant="bare" iconName="utility:expand" iconClass="control-btn"/>
|
||||
<lightning:buttonIcon onclick="{!c.onMinimize}" size="large" variant="bare" iconName="utility:contract" iconClass="control-btn"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</aura:component>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AuraDefinitionBundle xmlns="urn:metadata.tooling.soap.sforce.com" fqn="Viewer360Base">
|
||||
<apiVersion>42.0</apiVersion>
|
||||
<description>A Lightning Component Bundle</description>
|
||||
</AuraDefinitionBundle>
|
|
@ -1,46 +0,0 @@
|
|||
.THIS {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.THIS .static {
|
||||
background-size: cover;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.THIS iframe {
|
||||
border: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.THIS .logo {
|
||||
position: absolute;
|
||||
left: 12px;
|
||||
bottom: 12px;
|
||||
width: 70px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.THIS .buttons-center {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 8px;
|
||||
width: 28px;
|
||||
margin: 0 auto;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.THIS .buttons-right {
|
||||
position: absolute;
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.THIS .control-btn {
|
||||
fill: #FFFFFF;
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
<design:component >
|
||||
|
||||
</design:component>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="120px" height="120px" viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M120,108 C120,114.6 114.6,120 108,120 L12,120 C5.4,120 0,114.6 0,108 L0,12 C0,5.4 5.4,0 12,0 L108,0 C114.6,0 120,5.4 120,12 L120,108 L120,108 Z" id="Shape" fill="#2A739E"/>
|
||||
<path d="M77.7383308,20 L61.1640113,20 L44.7300055,63.2000173 L56.0543288,63.2000173 L40,99.623291 L72.7458388,54.5871812 L60.907727,54.5871812 L77.7383308,20 Z" id="Path-1" fill="#FFFFFF"/>
|
||||
</g>
|
||||
</svg>
|
До Ширина: | Высота: | Размер: 661 B |
|
@ -1,24 +0,0 @@
|
|||
({
|
||||
onPlay: function(component) {
|
||||
component.set("v.isPlaying", true);
|
||||
var iframe = component.find('iframe').getElement();
|
||||
iframe.src = $A.get('$Resource.three') + '/index.html';
|
||||
},
|
||||
|
||||
onStop: function(component) {
|
||||
component.set("v.isPlaying", false);
|
||||
var iframe = component.find('iframe').getElement();
|
||||
iframe.src = $A.get('$Resource.three') + '/empty.html';
|
||||
},
|
||||
|
||||
onMaximize: function(component) {
|
||||
var viewerEvent = component.getEvent("onmaximize");
|
||||
viewerEvent.fire();
|
||||
},
|
||||
|
||||
onMinimize: function(component) {
|
||||
var viewerEvent = component.getEvent("onminimize");
|
||||
viewerEvent.fire();
|
||||
},
|
||||
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
helperMethod : function() {
|
||||
|
||||
}
|
||||
})
|
|
@ -1,5 +0,0 @@
|
|||
({
|
||||
|
||||
// Your renderer method overrides go here
|
||||
|
||||
})
|
|
@ -1 +0,0 @@
|
|||
<aura:event type="COMPONENT" description="Event template"/>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AuraDefinitionBundle xmlns="urn:metadata.tooling.soap.sforce.com" fqn="Viewer360Event">
|
||||
<apiVersion>42.0</apiVersion>
|
||||
<description>A Lightning Event Bundle</description>
|
||||
</AuraDefinitionBundle>
|
|
@ -1,101 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FlexiPage xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>collapsed</name>
|
||||
<value>false</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>force:highlightsPanel</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>header</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>force:relatedListContainer</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>relatedTabContent</name>
|
||||
<type>Facet</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>force:detailPanel</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>detailTabContent</name>
|
||||
<type>Facet</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>body</name>
|
||||
<value>relatedTabContent</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>title</name>
|
||||
<value>Standard.Tab.relatedLists</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>flexipage:tab</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>active</name>
|
||||
<value>true</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>body</name>
|
||||
<value>detailTabContent</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>title</name>
|
||||
<value>Standard.Tab.detail</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>flexipage:tab</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>maintabs</name>
|
||||
<type>Facet</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>tabs</name>
|
||||
<value>maintabs</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>flexipage:tabset</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>main</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>parentFieldApiName</name>
|
||||
<value>Broker__c.Id</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>relatedListApiName</name>
|
||||
<value>Properties__r</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>relatedListComponentOverride</name>
|
||||
<value>NONE</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>force:relatedListSingleContainer</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>sidebar</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<masterLabel>Broker Record Page</masterLabel>
|
||||
<parentFlexiPage>flexipage__default_rec_L</parentFlexiPage>
|
||||
<sobjectType>Broker__c</sobjectType>
|
||||
<template>
|
||||
<name>flexipage:recordHomeTemplateDesktop</name>
|
||||
</template>
|
||||
<type>RecordPage</type>
|
||||
</FlexiPage>
|
|
@ -1,101 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FlexiPage xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>collapsed</name>
|
||||
<value>false</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>force:highlightsPanel</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>header</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>force:relatedListContainer</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>relatedTabContent</name>
|
||||
<type>Facet</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>force:detailPanel</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>detailTabContent</name>
|
||||
<type>Facet</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>body</name>
|
||||
<value>relatedTabContent</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>title</name>
|
||||
<value>Standard.Tab.relatedLists</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>flexipage:tab</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>active</name>
|
||||
<value>true</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>body</name>
|
||||
<value>detailTabContent</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>title</name>
|
||||
<value>Standard.Tab.detail</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>flexipage:tab</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>maintabs</name>
|
||||
<type>Facet</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>tabs</name>
|
||||
<value>maintabs</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>flexipage:tabset</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>main</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>parentFieldApiName</name>
|
||||
<value>Broker__c.Id</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>relatedListApiName</name>
|
||||
<value>Properties__r</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>relatedListComponentOverride</name>
|
||||
<value>NONE</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>force:relatedListSingleContainer</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>sidebar</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<masterLabel>Broker Record Page</masterLabel>
|
||||
<parentFlexiPage>flexipage__default_rec_L</parentFlexiPage>
|
||||
<sobjectType>Broker__c</sobjectType>
|
||||
<template>
|
||||
<name>flexipage:recordHomeTemplateDesktop</name>
|
||||
</template>
|
||||
<type>RecordPage</type>
|
||||
</FlexiPage>
|
|
@ -1,101 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FlexiPage xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>collapsed</name>
|
||||
<value>false</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>force:highlightsPanel</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>header</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>force:relatedListContainer</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>relatedTabContent</name>
|
||||
<type>Facet</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>force:detailPanel</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>detailTabContent</name>
|
||||
<type>Facet</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>body</name>
|
||||
<value>relatedTabContent</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>title</name>
|
||||
<value>Standard.Tab.relatedLists</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>flexipage:tab</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>active</name>
|
||||
<value>true</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>body</name>
|
||||
<value>detailTabContent</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>title</name>
|
||||
<value>Standard.Tab.detail</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>flexipage:tab</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>maintabs</name>
|
||||
<type>Facet</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>tabs</name>
|
||||
<value>maintabs</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>flexipage:tabset</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>main</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>parentFieldApiName</name>
|
||||
<value>Broker__c.Id</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>relatedListApiName</name>
|
||||
<value>Properties__r</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>relatedListComponentOverride</name>
|
||||
<value>NONE</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>force:relatedListSingleContainer</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>sidebar</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<masterLabel>Broker Record Page</masterLabel>
|
||||
<parentFlexiPage>flexipage__default_rec_L</parentFlexiPage>
|
||||
<sobjectType>Broker__c</sobjectType>
|
||||
<template>
|
||||
<name>flexipage:recordHomeTemplateDesktop</name>
|
||||
</template>
|
||||
<type>RecordPage</type>
|
||||
</FlexiPage>
|
|
@ -1,32 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FlexiPage xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||
<flexiPageRegions>
|
||||
<name>region1</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>PropertyListDaysOnMarketChart</componentName>
|
||||
</componentInstances>
|
||||
<name>region2</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>PropertySummary</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentName>SmartPriceCalculator</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentName>DaysOnMarketEstimator</componentName>
|
||||
</componentInstances>
|
||||
<name>region3</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<masterLabel>Command Center</masterLabel>
|
||||
<template>
|
||||
<name>flexipage:appHomeTemplateHeaderTwoColumns</name>
|
||||
</template>
|
||||
<type>AppPage</type>
|
||||
</FlexiPage>
|
|
@ -1,50 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FlexiPage xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>home:heroChart</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>top</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>home:eventContainer</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>bottomLeft</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>runtime_sales_activities:todayTaskContainer</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentName>home:topDealsContainer</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>bottomRight</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>ActionList</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentName>home:recentRecordContainer</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentName>home:assistant</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>sidebar</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<masterLabel>Home Page Default</masterLabel>
|
||||
<parentFlexiPage>home__desktopDefault</parentFlexiPage>
|
||||
<template>
|
||||
<name>home:desktopTemplate</name>
|
||||
</template>
|
||||
<type>HomePage</type>
|
||||
</FlexiPage>
|
|
@ -1,50 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FlexiPage xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>home:heroChart</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>top</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>home:eventContainer</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentName>home:recentRecordContainer</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>bottomLeft</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>runtime_sales_activities:todayTaskContainer</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentName>home:topDealsContainer</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>bottomRight</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>ActionList</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentName>home:assistant</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>sidebar</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<masterLabel>Home Page Default</masterLabel>
|
||||
<parentFlexiPage>home__desktopDefault</parentFlexiPage>
|
||||
<template>
|
||||
<name>home:desktopTemplate</name>
|
||||
</template>
|
||||
<type>HomePage</type>
|
||||
</FlexiPage>
|
|
@ -1,50 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FlexiPage xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>home:heroChart</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>top</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>home:eventContainer</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentName>home:recentRecordContainer</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>bottomLeft</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>runtime_sales_activities:todayTaskContainer</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentName>home:topDealsContainer</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>bottomRight</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>ActionList</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentName>home:assistant</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
<name>sidebar</name>
|
||||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<masterLabel>Home Page Default</masterLabel>
|
||||
<parentFlexiPage>home__desktopDefault</parentFlexiPage>
|
||||
<template>
|
||||
<name>home:desktopTemplate</name>
|
||||
</template>
|
||||
<type>HomePage</type>
|
||||
</FlexiPage>
|
|
@ -13,6 +13,10 @@
|
|||
<name>hideUpdateButton</name>
|
||||
<value>false</value>
|
||||
</componentInstanceProperties>
|
||||
<componentInstanceProperties>
|
||||
<name>variant</name>
|
||||
<value>linear</value>
|
||||
</componentInstanceProperties>
|
||||
<componentName>runtime_sales_pathassistant:pathAssistant</componentName>
|
||||
</componentInstances>
|
||||
<mode>Replace</mode>
|
||||
|
@ -126,9 +130,6 @@
|
|||
<type>Region</type>
|
||||
</flexiPageRegions>
|
||||
<flexiPageRegions>
|
||||
<componentInstances>
|
||||
<componentName>PredictedDaysOnMarket</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentInstanceProperties>
|
||||
<name>latField</name>
|
||||
|
@ -144,9 +145,6 @@
|
|||
</componentInstanceProperties>
|
||||
<componentName>MapCard</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentName>Viewer360</componentName>
|
||||
</componentInstances>
|
||||
<componentInstances>
|
||||
<componentName>PropertyCarousel</componentName>
|
||||
</componentInstances>
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FlowDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||
<activeVersionNumber>1</activeVersionNumber>
|
||||
</FlowDefinition>
|
|
@ -1,115 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Flow xmlns="http://soap.sforce.com/2006/04/metadata">
|
||||
<interviewLabel>Optimize Listing {!$Flow.CurrentDateTime}</interviewLabel>
|
||||
<label>Optimize Listing</label>
|
||||
<processType>Flow</processType>
|
||||
<screens>
|
||||
<name>Comp_List</name>
|
||||
<label>Comp List</label>
|
||||
<locationX>378</locationX>
|
||||
<locationY>98</locationY>
|
||||
<allowBack>true</allowBack>
|
||||
<allowFinish>true</allowFinish>
|
||||
<allowPause>true</allowPause>
|
||||
<connector>
|
||||
<targetReference>Price_Change</targetReference>
|
||||
</connector>
|
||||
<fields>
|
||||
<name>compList</name>
|
||||
<extensionName>c:FlowScreenCompList</extensionName>
|
||||
<fieldType>ComponentInstance</fieldType>
|
||||
<inputParameters>
|
||||
<name>recordId</name>
|
||||
<value>
|
||||
<elementReference>recordId</elementReference>
|
||||
</value>
|
||||
</inputParameters>
|
||||
<isRequired>true</isRequired>
|
||||
</fields>
|
||||
<showFooter>true</showFooter>
|
||||
<showHeader>false</showHeader>
|
||||
</screens>
|
||||
<screens>
|
||||
<name>Complete</name>
|
||||
<label>Complete</label>
|
||||
<locationX>363</locationX>
|
||||
<locationY>602</locationY>
|
||||
<allowBack>true</allowBack>
|
||||
<allowFinish>true</allowFinish>
|
||||
<allowPause>true</allowPause>
|
||||
<fields>
|
||||
<name>compl</name>
|
||||
<extensionName>c:FlowScreenComplete</extensionName>
|
||||
<fieldType>ComponentInstance</fieldType>
|
||||
<inputParameters>
|
||||
<name>recordId</name>
|
||||
<value>
|
||||
<elementReference>recordId</elementReference>
|
||||
</value>
|
||||
</inputParameters>
|
||||
<isRequired>true</isRequired>
|
||||
</fields>
|
||||
<showFooter>true</showFooter>
|
||||
<showHeader>false</showHeader>
|
||||
</screens>
|
||||
<screens>
|
||||
<name>Price_Change</name>
|
||||
<label>Price Change</label>
|
||||
<locationX>376</locationX>
|
||||
<locationY>236</locationY>
|
||||
<allowBack>true</allowBack>
|
||||
<allowFinish>true</allowFinish>
|
||||
<allowPause>true</allowPause>
|
||||
<connector>
|
||||
<targetReference>Upload_Pics</targetReference>
|
||||
</connector>
|
||||
<fields>
|
||||
<name>priceChange</name>
|
||||
<extensionName>c:FlowScreenPriceChange</extensionName>
|
||||
<fieldType>ComponentInstance</fieldType>
|
||||
<inputParameters>
|
||||
<name>recordId</name>
|
||||
<value>
|
||||
<elementReference>recordId</elementReference>
|
||||
</value>
|
||||
</inputParameters>
|
||||
<isRequired>true</isRequired>
|
||||
</fields>
|
||||
<showFooter>true</showFooter>
|
||||
<showHeader>false</showHeader>
|
||||
</screens>
|
||||
<screens>
|
||||
<name>Upload_Pics</name>
|
||||
<label>Upload Pics</label>
|
||||
<locationX>377</locationX>
|
||||
<locationY>430</locationY>
|
||||
<allowBack>true</allowBack>
|
||||
<allowFinish>true</allowFinish>
|
||||
<allowPause>true</allowPause>
|
||||
<connector>
|
||||
<targetReference>Complete</targetReference>
|
||||
</connector>
|
||||
<fields>
|
||||
<name>imageUpload</name>
|
||||
<extensionName>c:FlowScreenImageUpload</extensionName>
|
||||
<fieldType>ComponentInstance</fieldType>
|
||||
<inputParameters>
|
||||
<name>recordId</name>
|
||||
<value>
|
||||
<elementReference>recordId</elementReference>
|
||||
</value>
|
||||
</inputParameters>
|
||||
<isRequired>true</isRequired>
|
||||
</fields>
|
||||
<showFooter>true</showFooter>
|
||||
<showHeader>false</showHeader>
|
||||
</screens>
|
||||
<startElementReference>Comp_List</startElementReference>
|
||||
<variables>
|
||||
<name>recordId</name>
|
||||
<dataType>String</dataType>
|
||||
<isCollection>false</isCollection>
|
||||
<isInput>true</isInput>
|
||||
<isOutput>false</isOutput>
|
||||
</variables>
|
||||
</Flow>
|
|
@ -38,7 +38,10 @@
|
|||
</actionOverrides>
|
||||
<actionOverrides>
|
||||
<actionName>View</actionName>
|
||||
<type>Default</type>
|
||||
<content>Broker_Record_Page</content>
|
||||
<formFactor>Large</formFactor>
|
||||
<skipRecordTypeSelect>false</skipRecordTypeSelect>
|
||||
<type>Flexipage</type>
|
||||
</actionOverrides>
|
||||
<allowInChatterGroups>false</allowInChatterGroups>
|
||||
<compactLayoutAssignment>Broker_Compact</compactLayoutAssignment>
|
||||
|
|