Commit dcbe269f authored by ctandel's avatar ctandel

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@175868 ce508802-f39f-4f6c-b175-0d175dae99d5
parent d4fbbea5
!SESSION 2017-12-13 13:47:43.894 -----------------------------------------------
eclipse.buildId=4.7.1.M20171009-0410
java.version=1.8.0_151
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_IN
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -data /home/base/Development/Chitranga -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product
!ENTRY org.eclipse.ui 2 0 2017-12-13 13:47:51.551
!MESSAGE Warnings while parsing the images from the 'org.eclipse.ui.commandImages' extension point.
!SUBENTRY 1 org.eclipse.ui 2 0 2017-12-13 13:47:51.551
!MESSAGE Cannot bind to an undefined command: plug-in='com.genuitec.eclipse.theming.ui', id='com.genuitec.myeclipse.help.darktheme.commandid'
!ENTRY com.genuitec.eclipse.theming.ui 1 0 2017-12-13 13:47:54.719
!MESSAGE A DevStyle Theme is being activated on this workspace; preparing colors and configuration
!ENTRY com.genuitec.eclipse.theming.ui 1 0 2017-12-13 13:47:58.643
!MESSAGE DevStyle has archived current color configurations to alternate preferences - will be restored when switching out of the DevStyle Theme
!ENTRY org.eclipse.jface 2 0 2017-12-13 13:47:59.993
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
!SUBENTRY 1 org.eclipse.jface 2 0 2017-12-13 13:47:59.993
!MESSAGE A conflict occurred for ALT+CTRL+T:
Binding(ALT+CTRL+T,
ParameterizedCommand(Command(org.eclipse.tm.terminal.connector.local.command.launch,Open Local Terminal on Selection,
,
Category(org.eclipse.tm.terminal.view.ui.commands.category,Terminal Commands,null,true),
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@47fe4c3e,
,,true),null),
org.eclipse.ui.defaultAcceleratorConfiguration,
org.eclipse.ui.contexts.window,,,system)
Binding(ALT+CTRL+T,
ParameterizedCommand(Command(org.eclipse.team.svn.ui.command.EditPropertiesCommand,Show Properties,
,
Category(org.eclipse.team.svn.ui.command.category,SVN,null,true),
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@1a8042a5,
,,true),null),
org.eclipse.ui.defaultAcceleratorConfiguration,
org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2017-12-13 13:47:59.994
!MESSAGE A conflict occurred for ALT+CTRL+U:
Binding(ALT+CTRL+U,
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.search.occurrences.in.file.quickMenu,Show Occurrences in File Quick Menu,
Shows the Occurrences in File quick menu,
Category(org.eclipse.search.ui.category.search,Search,Search command category,true),
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6be6cb16,
,,true),null),
org.eclipse.ui.defaultAcceleratorConfiguration,
org.eclipse.ui.contexts.window,,gtk,system)
Binding(ALT+CTRL+U,
ParameterizedCommand(Command(org.eclipse.team.svn.ui.command.UpdateCommand,Update,
,
Category(org.eclipse.team.svn.ui.command.category,SVN,null,true),
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@69ee825c,
,,true),null),
org.eclipse.ui.defaultAcceleratorConfiguration,
org.eclipse.ui.contexts.window,,,system)
!ENTRY com.gwtplugins.gwt.eclipse.wtp 1 1 2017-12-13 13:51:03.450
!MESSAGE GWT: GWT Facet startup
{"lastUsed":0,"path":"\/home\/base\/Development\/Chitranga","projectCount":0}
\ No newline at end of file
#MyEclipse Usage Data
#Wed Dec 13 13:49:11 IST 2017
bundle/com.genuitec.eclipse.javascript.tern.jee=-1
bundle/com.genuitec.eclipse.javascript.debug.wip.ui=-1
misc/workspace_hash=330081657
bundle/com.genuitec.eclipse.core.common=-1
misc/productType/angular-ide=1
bundle/com.genuitec.eclipse.ui.common.platform=1
bundle/com.genuitec.eclipse.webclipse.dashboard=1
bundle/com.genuitec.eclipsecolortheme.api=1
bundle/com.genuitec.eclipse.news=-1
view/org.eclipse.team.svn.ui.repository.RepositoriesView=1
bundle/com.genuitec.eclipse.modernweb.angular2.ui=1
misc/timestamp=13 Dec, 2017 8\:19\:11 AM
misc/count=1
bundle/com.genuitec.eclipse.webclipse.localserver=1
bundle/com.genuitec.eclipse.7z=-1
misc/has_license=false
devstyle/state/enabled=1
bundle/com.genuitec.eclipse.startup=1
bundle/com.genuitec.eclipse.webclipse.terminal.enhancer=-1
bundle/com.genuitec.eclipse.dashboard.common=1
misc/coreOK=1
devstyle/state/editorColor/Eclipse_Standard=1
misc/systemUID=8783d7d29e298431d9f72ed2e9f1c029
bundle/com.genuitec.eclipse.theming.core=1
bundle/com.genuitec.eclipse.theming.css=-1
bundle/com.genuitec.eclipse.core=1
misc/ws=gtk
misc/eclipseVersion/4.7.1.M20171009-0410=1
misc/arch=x86_64
bundle/com.genuitec.eclipse.ui.common=-1
misc/proxy=disabled
bundle/com.genuitec.eclipse.theming.scrollbar=-1
bundle/com.genuitec.eclipse.javascript.jee.ui=-1
bundle/com.genuitec.eclipse.webicons=1
misc/install-id=46c18e2d-992e-4651-8145-2e68b37668ee
devstyle/state/inlinesearch=1
misc/product/org.eclipse.epp.package.jee.product=1
bundle/com.genuitec.eclipse.featureintro=1
bundle/com.genuitec.eclipse.javascript.debug.core=1
bundle/com.genuitec.eclipse.javascript.jee.core=-1
bundle/com.genuitec.eclipse.javascript.debug.ui=-1
bundle/com.genuitec.eclipse.webclipse.evergreen=1
bundle/com.genuitec.eclipse.meexplorer=1
bundle/com.genuitec.eclipse.theming.ui=1
bundle/com.genuitec.eclipse.dashboard.wizards=1
view/org.eclipse.ui.navigator.ProjectExplorer=1
devstyle/state/iconsColor/primary=1
bundle/com.genuitec.eclipse.modernweb.common.core=1
bundle/com.genuitec.eclipse.inlinesearch=1
bundle/com.genuitec.eclipse.modernweb.angular2.core=1
misc/points/current=246
bundle/com.genuitec.eclipse.meexplorer.jdt=1
bundle/com.genuitec.eclipse.theming.base=-1
misc/locale=en_IN
misc/installmode/standalone=0
bundle/com.genuitec.eclipse.jniwrapper=1
misc/installmode/stable=0
bundle/com.genuitec.eclipse.modernweb.common.ui=-1
bundle/com.genuitec.eclipse.webclipse.terminal=1
misc/os=linux
bundle/com.genuitec.eclipse.modernweb.startup=-1
bundle/com.genuitec.eclipse.core.common.platform=1
bundle/com.genuitec.eclipse.javascript.tern=1
bundle/com.genuitec.eclipse.javascript.jsdt.core=1
perspective/org.eclipse.jst.j2ee.J2EEPerspective=1
misc/period=60001
bundle/com.genuitec.eclipse.theming.epl=-1
bundle/com.genuitec.eclipse.typescript=1
misc/points/total=458
bundle/com.genuitec.eclipse.jee.common.core=1
bundle/com.genuitec.eclipse.javascript.debug.wip.core=-1
misc/core_version=15.0.0.201711281850
bundle/com.genuitec.eclipse.startup.workspace=1
bundle/com.genuitec.eclipse.webclipse.ui=1
misc/systemId=1fD1bff0E7011561427
devstyle/state/workbenchColor/Light_Gray=1
bundle/com.genuitec.eclipse.patches=1
bundle/com.genuitec.eclipse.monitor=1
IEclipsePreferences#org-eclipse-cdt-ui {
preferences:
'buildConsoleBackgroundColor=245,245,245'
'buildConsoleProblemBackgroundColor=250,250,250'
'buildConsoleProblemInfoBackgroundColor=245,245,245'
'buildConsoleProblemWarningBackgroundColor=250,250,250'
}
IEclipsePreferences#org-eclipse-debug-ui {
preferences:
'org.eclipse.debug.ui.consoleBackground=245,245,245'
}
IEclipsePreferences#org-eclipse-tm-terminal-control {
preferences:
'TerminalPrefInvertColors=false'
}
IEclipsePreferences#org-eclipse-ui-editors {
preferences:
'AbstractTextEditor.Color.Background=250,250,250'
'AbstractTextEditor.Color.Background.SystemDefault=false'
'AbstractTextEditor.Color.Foreground=13,13,13'
'AbstractTextEditor.Color.Foreground.SystemDefault=false'
'AbstractTextEditor.Color.SelectionBackground=0,120,215'
'AbstractTextEditor.Color.SelectionBackground.SystemDefault=false'
'AbstractTextEditor.Color.SelectionForeground=255,255,255'
'AbstractTextEditor.Color.SelectionForeground.SystemDefault=false'
'asOccurencesIndicationColor=212,212,212'
'currentIPColor=227,227,227'
'currentLineColor=232,232,232'
'deletionIndicationColor=26,26,26'
'filteredSearchResultIndicationColor=237,237,252'
'findBlockColor=90,120,255'
'findIndicationColor=255,253,208'
'matchingTagIndicationColor=214,214,214'
'occurrenceIndicationColor=212,212,212'
'org.eclipse.cdt.ui.writeOccurrenceIndicationColor=212,212,212'
'redhatTextOccurrenceIndicationColor=212,212,212'
'searchResultHighlighting=false'
'searchResultIndication=true'
'searchResultIndicationColor=196,196,196'
'searchResultTextStyle=BOX'
'secondaryIPColor=227,227,227'
'writeOccurrenceIndicationColor=240,216,168'
}
IEclipsePreferences#org-eclipse-ui-workbench {
preferences:
'CONTENT_ASSIST_BACKGROUND_COLOR=224,224,224'
'CONTENT_ASSIST_FOREGROUND_COLOR=15,15,15'
'content_assist_parameters_background=224,224,224'
'content_assist_parameters_foreground=15,15,15'
'content_assist_proposals_background=224,224,224'
'content_assist_proposals_foreground=15,15,15'
'org.eclipse.egit.ui.DiffAddBackgroundColor=219,255,148'
'org.eclipse.egit.ui.DiffHeadlineBackgroundColor=245,245,245'
'org.eclipse.egit.ui.DiffHunkBackgroundColor=245,245,245'
'org.eclipse.egit.ui.DiffRemoveBackgroundColor=255,172,172'
}
IEclipsePreferences#org-eclipse-wst-jsdt-ui {
preferences:
'CONTENT_ASSIST_BACKGROUND_COLOR=224,224,224'
'CONTENT_ASSIST_FOREGROUND_COLOR=15,15,15'
'content_assist_parameters_background=224,224,224'
'content_assist_parameters_foreground=15,15,15'
'content_assist_proposals_background=224,224,224'
'content_assist_proposals_foreground=15,15,15'
}
#org-eclipse-ui-splash-progressText {
color: #e6e8ff;
}
#org-eclipse-ui-splash-progressPart {
background-image: url('me-custom:/platform:/plugin/org.eclipse.epp.package.jee/splash.bmp');
}
\ No newline at end of file
applyBackground=false
approved.defs.file.last.changed.time=1512058756000
eclipse.preferences.version=1
iconcolormode=primary
last.download.attempt.time=1513153092038
lastConfiguration=1.512376266031E12
newinstall=false
showWelcomeDialog=false
workbench.theme=Light Gray
com.genuitec.eclipse.webclipse.dashboard.shown=true
eclipse.preferences.version=1
colorTheme=Eclipse Standard
colorThemeExplicit=true
eclipse.preferences.version=1
buildConsoleBackgroundColor=245,245,245
buildConsoleProblemBackgroundColor=250,250,250
buildConsoleProblemInfoBackgroundColor=245,245,245
buildConsoleProblemWarningBackgroundColor=250,250,250
eclipse.preferences.version=1
overriddenByCSS=,buildConsoleBackgroundColor,buildConsoleProblemBackgroundColor,buildConsoleProblemInfoBackgroundColor,buildConsoleProblemWarningBackgroundColor,
eclipse.preferences.version=1
org.eclipse.jdt.core.interfaceFormat=ZC791|GC903|FGNEG756266|CEB5|QC5|Q0|PQ68
version=1
eclipse.preferences.version=1
org.eclipse.debug.ui.consoleBackground=245,245,245
overriddenByCSS=,org.eclipse.debug.ui.consoleBackground,
darkestApplied=true
eclipse.preferences.version=1
enableddarkestdark=true
themeid=com.genuitec.eclipse.themes.dark
eclipse.preferences.version=1
resetSendMode=KEEP
resetSendModeOn=0
sendMode=NOTIFY
content_assist_proposals_background=255,255,255
content_assist_proposals_foreground=0,0,0
eclipse.preferences.version=1
org.eclipse.jdt.ui.formatterprofiles.version=13
spelling_locale_initialized=true
useAnnotationsPrefPage=true
useQuickDiffPrefPage=true
eclipse.preferences.version=1
org.eclipse.mylyn.monitor.activity.tracking.enabled.checked=true
eclipse.preferences.version=1
org.eclipse.mylyn.tasks.ui.filters.nonmatching=true
org.eclipse.mylyn.tasks.ui.filters.nonmatching.encouraged=true
eclipse.preferences.version=1
org.eclipse.rse.systemtype.local.systemType.defaultUserId=base
eclipse.preferences.version=1
org.eclipse.rse.preferences.order.connections=base.Local
eclipse.preferences.version=1
externalMigrateFromAuthorizationDatabase/isMigrated=true
migrateFromAuthorizationDatabase/isMigrated=true
repositories/10b8324ededf00171043abff818faae2=10b8324ededf00171043abff818faae2;http\://192.168.0.25/svn/proteus;http\://192.168.0.25/svn/proteus;branches;tags;trunk;true;ce508802-f39f-4f6c-b175-0d175dae99d5;http\://192.168.0.25/svn/proteus;;false;<http\://192.168.0.25\:80> Subversion User Authentication;;0
TerminalPrefInvertColors=false
eclipse.preferences.version=1
overriddenByCSS=,TerminalPrefInvertColors,
AbstractTextEditor.Color.Background=250,250,250
AbstractTextEditor.Color.Background.SystemDefault=false
AbstractTextEditor.Color.Foreground=13,13,13
AbstractTextEditor.Color.Foreground.SystemDefault=false
AbstractTextEditor.Color.SelectionBackground=0,120,215
AbstractTextEditor.Color.SelectionBackground.SystemDefault=false
AbstractTextEditor.Color.SelectionForeground=255,255,255
AbstractTextEditor.Color.SelectionForeground.SystemDefault=false
asOccurencesIndicationColor=212,212,212
currentIPColor=227,227,227
currentLineColor=232,232,232
deletionIndicationColor=26,26,26
eclipse.preferences.version=1
filteredSearchResultIndicationColor=237,237,252
findBlockColor=90,120,255
findIndicationColor=255,253,208
matchingTagIndicationColor=214,214,214
occurrenceIndicationColor=212,212,212
org.eclipse.cdt.ui.writeOccurrenceIndicationColor=212,212,212
overriddenByCSS=,AbstractTextEditor.Color.Background,AbstractTextEditor.Color.Foreground,AbstractTextEditor.Color.Foreground.SystemDefault,AbstractTextEditor.Color.SelectionBackground,AbstractTextEditor.Color.SelectionForeground,asOccurencesIndicationColor,currentIPColor,currentLineColor,deletionIndicationColor,filteredSearchResultIndicationColor,findBlockColor,findIndicationColor,matchingTagIndicationColor,occurrenceIndicationColor,org.eclipse.cdt.ui.writeOccurrenceIndicationColor,redhatTextOccurrenceIndicationColor,searchResultHighlighting,searchResultIndication,searchResultIndicationColor,searchResultTextStyle,secondaryIPColor,writeOccurrenceIndicationColor,
overviewRuler_migration=migrated_3.1
redhatTextOccurrenceIndicationColor=212,212,212
searchResultHighlighting=false
searchResultIndication=true
searchResultIndicationColor=196,196,196
searchResultTextStyle=BOX
secondaryIPColor=227,227,227
writeOccurrenceIndicationColor=240,216,168
CONTENT_ASSIST_BACKGROUND_COLOR=224,224,224
CONTENT_ASSIST_FOREGROUND_COLOR=15,15,15
PLUGINS_NOT_ACTIVATED_ON_STARTUP=;org.eclipse.m2e.discovery;
content_assist_parameters_background=224,224,224
content_assist_parameters_foreground=15,15,15
content_assist_proposals_background=224,224,224
content_assist_proposals_foreground=15,15,15
eclipse.preferences.version=1
org.eclipse.egit.ui.DiffAddBackgroundColor=219,255,148
org.eclipse.egit.ui.DiffHeadlineBackgroundColor=245,245,245
org.eclipse.egit.ui.DiffHunkBackgroundColor=245,245,245
org.eclipse.egit.ui.DiffRemoveBackgroundColor=255,172,172
overriddenByCSS=,CONTENT_ASSIST_BACKGROUND_COLOR,CONTENT_ASSIST_FOREGROUND_COLOR,content_assist_parameters_background,content_assist_parameters_foreground,content_assist_proposals_background,content_assist_proposals_foreground,org.eclipse.egit.ui.DiffAddBackgroundColor,org.eclipse.egit.ui.DiffHeadlineBackgroundColor,org.eclipse.egit.ui.DiffHunkBackgroundColor,org.eclipse.egit.ui.DiffRemoveBackgroundColor,
CONTENT_ASSIST_BACKGROUND_COLOR=224,224,224
CONTENT_ASSIST_FOREGROUND_COLOR=15,15,15
content_assist_parameters_background=224,224,224
content_assist_parameters_foreground=15,15,15
content_assist_proposals_background=224,224,224
content_assist_proposals_foreground=15,15,15
eclipse.preferences.version=1
fontPropagated=true
org.eclipse.jface.textfont=1|Monospace|10.0|0|GTK|1|;
org.eclipse.wst.jsdt.ui.editor.tab.width=
org.eclipse.wst.jsdt.ui.formatterprofiles.version=11
org.eclipse.wst.jsdt.ui.javadoclocations.migrated=true
overriddenByCSS=,CONTENT_ASSIST_BACKGROUND_COLOR,CONTENT_ASSIST_FOREGROUND_COLOR,content_assist_parameters_background,content_assist_parameters_foreground,content_assist_proposals_background,content_assist_proposals_foreground,
proposalOrderMigrated=true
tabWidthPropagated=true
useAnnotationsPrefPage=true
useQuickDiffPrefPage=true
{
"version": "v1",
"title": "Eclipse",
"timestamp": 1513153081670,
"ttl": 10080,
"helpUrl": "https://dev.eclipse.org/recommenders/community/aeri/v2/help/",
"feedbackUrl": "https://www.codetrails.com/error-analytics/",
"aboutUrl": "https://wiki.eclipse.org/EPP/Logging",
"submitUrl": "https://dev.eclipse.org/recommenders/community/confess/0.6/reports/",
"maxReportSize": 262144,
"problemsUrl": "https://www.eclipse.org/downloads/download.php?r\u003d1\u0026file\u003d/technology/epp/logging/problems.zip",
"problemsTtl": 20160,
"interestUrl": "https://dev.eclipse.org/recommenders/community/confess/v2/interest",
"connectTimeout": 10,
"socketTimeout": 10,
"acceptedProducts": [
"org.eclipse.*",
"org.fordiac.*"
],
"acceptedPlugins": [
"org.apache.log4j.*",
"org.eclipse.*",
"org.fordiac.*"
],
"acceptedPackages": [
"ch.qos.*",
"com.cforcoding.*",
"com.google.*",
"com.gradleware.tooling.*",
"com.mountainminds.eclemma.*",
"com.naef.*",
"com.sun.*",
"java.*",
"javafx.*",
"javax.*",
"org.apache.*",
"org.eclipse.*",
"org.fordiac.*",
"org.gradle.*",
"org.jacoco.*",
"org.osgi.*",
"org.slf4j.*",
"sun.*"
],
"requiredPackages": [
"com.cforcoding.*",
"com.gradleware.tooling.*",
"com.mountainminds.eclemma.*",
"com.naef.*",
"org.eclipse.*",
"org.fordiac.*",
"org.gradle.*",
"org.jacoco.*"
],
"acceptOtherPackages": false,
"acceptUiFreezes": true,
"ignoredStatuses": [
":java.io.IOException:There is not enough space on the disk",
":java.net.*:",
"org.eclipse.core.filesystem::Could not delete*",
"org.eclipse.core.filesystem::Could not move*",
"org.eclipse.core.resources:org.eclipse.core.internal.resources.ResourceException:Resource is out of sync with the file system*",
"org.eclipse.core.runtime::Invalid input url*",
"org.eclipse.epp.mpc.ui:java.io.IOException:",
"org.eclipse.equinox.p2.*::",
"org.eclipse.jface:java.io.IOException:Unable to resolve plug-in*",
"org.eclipse.oomph.setup.core:$org.apache.http.ConnectionClosedException:",
"org.eclipse.pde.core::The current target platform contains errors*",
"org.eclipse.ui::Conflicting handlers for*"
],
"problemsZipLastDownloadTimestamp": 0
}
\ No newline at end of file
2017-12-13 13:48:03,473 [Worker-7] INFO c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
<configuration scan="true">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>OFF</level> <!-- change to DEBUG to mimic '-consolelog' behaviour -->
</filter>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${org.eclipse.m2e.log.dir}/0.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<FileNamePattern>${org.eclipse.m2e.log.dir}/%i.log</FileNamePattern>
<MinIndex>1</MinIndex>
<MaxIndex>10</MaxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>100MB</MaxFileSize>
</triggeringPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<appender name="EclipseLog" class="org.eclipse.m2e.logback.appender.EclipseLogAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
</appender>
<appender name="MavenConsoleLog" class="org.eclipse.m2e.logback.appender.MavenConsoleAppender">
</appender>
<root level="INFO">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
<appender-ref ref="EclipseLog" />
<appender-ref ref="MavenConsoleLog" />
</root>
<logger name="com.ning.http.client" level="INFO" />
</configuration>
<?xml version="1.0" encoding="UTF-8"?>
<setup:Workspace
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
name="workspace"/>
# RSE DOM Node
00-name=base\:local.files
01-type=FilterPool
03-attr.default=true
03-attr.deletable=true
03-attr.id=local.files
03-attr.nonRenamable=false
03-attr.owningParentName=null
03-attr.release=200
03-attr.singleFilterStringOnly=false
03-attr.singleFilterStringOnlyESet=false
03-attr.stringsCaseSensitive=true
03-attr.supportsDuplicateFilterStrings=false
03-attr.supportsNestedFilters=true
03-attr.type=default
06-child.00000.00-name=My Home
06-child.00000.01-type=Filter
06-child.00000.03-attr.default=false
06-child.00000.03-attr.filterType=default
06-child.00000.03-attr.id=My Home
06-child.00000.03-attr.nonChangable=false
06-child.00000.03-attr.nonDeletable=false
06-child.00000.03-attr.nonRenamable=false
06-child.00000.03-attr.promptable=false
06-child.00000.03-attr.relativeOrder=0
06-child.00000.03-attr.release=200
06-child.00000.03-attr.singleFilterStringOnly=false
06-child.00000.03-attr.stringsCaseSensitive=true
06-child.00000.03-attr.stringsNonChangable=false
06-child.00000.03-attr.supportsDuplicateFilterStrings=false
06-child.00000.03-attr.supportsNestedFilters=true
06-child.00000.06-child.00000.00-name=/home/base/*
06-child.00000.06-child.00000.01-type=FilterString
06-child.00000.06-child.00000.03-attr.default=false
06-child.00000.06-child.00000.03-attr.string=/home/base/*
06-child.00000.06-child.00000.03-attr.type=default
06-child.00001.00-name=Root
06-child.00001.01-type=Filter
06-child.00001.03-attr.default=false
06-child.00001.03-attr.filterType=default
06-child.00001.03-attr.id=Root
06-child.00001.03-attr.nonChangable=false
06-child.00001.03-attr.nonDeletable=false
06-child.00001.03-attr.nonRenamable=false
06-child.00001.03-attr.promptable=false
06-child.00001.03-attr.relativeOrder=0
06-child.00001.03-attr.release=200
06-child.00001.03-attr.singleFilterStringOnly=false
06-child.00001.03-attr.stringsCaseSensitive=true
06-child.00001.03-attr.stringsNonChangable=false
06-child.00001.03-attr.supportsDuplicateFilterStrings=false
06-child.00001.03-attr.supportsNestedFilters=true
06-child.00001.06-child.00000.00-name=/*
06-child.00001.06-child.00000.01-type=FilterString
06-child.00001.06-child.00000.03-attr.default=false
06-child.00001.06-child.00000.03-attr.string=/*
06-child.00001.06-child.00000.03-attr.type=default
# RSE DOM Node
00-name=Local
01-type=Host
03-attr.description=
03-attr.hostname=LOCALHOST
03-attr.offline=false
03-attr.promptable=false
03-attr.systemType=org.eclipse.rse.systemtype.local
03-attr.type=Local
06-child.00000.00-name=Local Connector Service
06-child.00000.01-type=ConnectorService
06-child.00000.03-attr.group=Local Connector Service
06-child.00000.03-attr.port=0
06-child.00000.03-attr.useSSL=false
06-child.00000.06-child.00000.00-name=Local Files
06-child.00000.06-child.00000.01-type=SubSystem
06-child.00000.06-child.00000.03-attr.hidden=false
06-child.00000.06-child.00000.03-attr.type=local.files
06-child.00000.06-child.00000.06-child.00000.00-name=base___base\:local.files
06-child.00000.06-child.00000.06-child.00000.01-type=FilterPoolReference
06-child.00000.06-child.00000.06-child.00000.03-attr.refID=local.files
06-child.00000.06-child.00001.00-name=Local Shells
06-child.00000.06-child.00001.01-type=SubSystem
06-child.00000.06-child.00001.03-attr.hidden=false
06-child.00000.06-child.00001.03-attr.type=local.shells
# RSE DOM Node
00-name=base
01-type=Profile
03-attr.defaultPrivate=true
03-attr.isActive=true
05-ref.00000=FP.local.files_0
05-ref.00001=H.local_16
<?xml version="1.0" encoding="UTF-8"?>
<state reopen="true"/>
\ No newline at end of file
#
#Wed Dec 13 13:48:14 IST 2017
task-tag-projects-already-scanned=RemoteSystemsTempFiles
#Wed Dec 13 13:47:49 IST 2017
org.eclipse.core.runtime=2
org.eclipse.platform=4.7.1.v20171009-0410
import { Component } from '@angular/core';
import {Location, LocationStrategy, PathLocationStrategy} from '@angular/common';
import {AppState} from './ecm-store/reducers';
import {CartActions, CategoryActions, MenuActions, WishListActions} from './ecm-store/actions';
import { HostUrlService } from './host-url.service';
import { Store } from '@ngrx/store';
import { ECMSigninService } from './ecm-signin/ecm-signin.service';
import {Injectable} from "@angular/core";
import {Http, Response, Headers, RequestOptions} from "@angular/http";
import {Observable} from "rxjs/Rx";
@Component({
selector: 'ecm-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
providers: [Location, {provide: LocationStrategy, useClass: PathLocationStrategy}]
})
export class AppComponent {
title = 'Proteus ECM';
location: Location;
locationPath: string = "";
constructor(location: Location, private store: Store<AppState>, public signinService: ECMSigninService, private http:Http, private cartAction: CartActions, private categoryAction: CategoryActions, private menuAction:MenuActions, private wishListAction: WishListActions, public hostUrlService : HostUrlService) {
this.location = location;
this.locationPath = this.location.path(true);
console.log( ' this.locationPath[' + this.locationPath + ']');
var url = '';
if( document.getElementById("hostUrl") ){
url= (<HTMLInputElement>document.getElementById("hostUrl")).value;
}
this.hostUrlService.hostUrl = url;
setTimeout(() => {
this.checkAppState();
}, 1000);
}
checkAppState(){
this.setItem('jwtToken', this.get('jwtToken'), false );
this.setItem('appstate', this.get('app_stat'), true );
this.setItem('TOKEN_ID', this.get('TOKEN_ID'), true );
this.setItem('ECM_TYPE', this.get('ECM_TYPE'), true );
this.setItem('SITE_CODE', this.get('SITE_CODE'), true );
this.signinService.fetchUserData().subscribe(
response => {
if(response){
this.store.dispatch(this.cartAction.loadCartItems());
this.store.dispatch(this.wishListAction.loadWishlistItems());
}
}
)
this.store.dispatch(this.categoryAction.loadCategories());
this.store.dispatch(this.menuAction.loadMenu());
}
get(name){
var retVal = 'undefined';
if(name=(new RegExp('[?&]'+encodeURIComponent(name)+'=([^&]*)')).exec(this.locationPath))
{
console.log( 'name[' + name + '] decodeURIComponent(name[1]) [' + decodeURIComponent(name[1]) + ']');
retVal = decodeURIComponent(name[1]);
}
console.log( 'retVal[' + retVal + ']');
return retVal;
}
setItem(key, data, isUndefined){
if (typeof(Storage) != 'undefined' && ( data !== 'undefined' || isUndefined ) )
{
localStorage.setItem(key, data);
}
else
{
console.log('Sorry, your browser does not support Web Storage...');
}
}
}
This diff is collapsed.
h6
{
color: mediumvioletred;
}
/* .changePass-form */
/* { */
/* position: relative; */
/* left: calc( ( 100% / 2 ) - 187.5px ); */
/* margin: 0; */
/* width: 375px; */
/* padding: 0 40px 0 40px; */
/* } */
.password-input-container {
/* width: 320px; */
/* width: 295px; */
font-size: 15px;
/* line-height: 15px; */
/* margin: 0 0 10px 0; */
/* padding: 0; */
width: 100%;
}
.password-input {
height:20px;
}
.statusError {
position: absolute;
font-size: 75%;
width: 50%;
margin-top: -1.2em;
line-height: 1.2em;
overflow: hidden;
}
.successForm{
position: absolute;
left: calc( ( 100% / 2 ) - 110px );
top: 40%;
color: mediumvioletred;
}
.signin-button
{
background: mediumvioletred;
color: #fff;
}
.signin-button[disabled]
{
background: #e0e0e0;
color: #fff;
}
.signin-button{
width: 200px;
height: 46px;
font-size: 15px;
line-height: 15px;
text-align: center;
border-radius: 2px;
position: relative;
padding: 0;
margin: 5px 0 5px 0;
}
.changePassForm{
padding: 10px;
}
.changePass-head{
font-size: 16px;
font-weight: normal;
border-bottom: 1px solid lightgrey;
padding: 12px;
}
.changePass-form{
padding: 0px;
}
<div class="row">
<div class="small-12 medium-12 large-12 medium column changePass-form ">
<div class="changePass-head">
<span *ngIf="!fullProfile">Change Password</span>
</div>
<form class="changePassForm" #changePass="ngForm" (ngSubmit)="changePassword(changePass);" novalidate autocomplete="off">
<md-input-container class="password-input-container" [hideRequiredMarker] = "true">
<input mdInput class="username-input" placeholder="Current Password" required name="cpassword" [(ngModel)]="_current_password" #current_password="ngModel" (keydown)="clearTimer();" type = 'password'
#curPassElem (focus) = "scrollIntoView(curPassElem);" />
<md-error *ngIf="current_password.errors && current_password.dirty" class="">Password required</md-error>
</md-input-container>
<md-input-container class="password-input-container" [hideRequiredMarker] = "true">
<input mdInput class="username-input" placeholder="New Password" required name="npassword" [(ngModel)]="_new_password" #new_password="ngModel" (keydown)="clearTimer();" type = 'password'
#newPassElem (focus) = "scrollIntoView(newPassElem);" />
<md-error *ngIf="new_password.errors && new_password.dirty" class="">Password required</md-error>
</md-input-container>
<md-input-container class="password-input-container" [hideRequiredMarker] = "true">
<input mdInput class="username-input" placeholder="Confirm Password" required name="cfpassword" [(ngModel)]="_confirm_password" #confirm_password="ngModel" (keydown)="clearTimer();" type = 'password'
#confPassElem (focus) = "scrollIntoView(confPassElem);" />
<md-error *ngIf="confirm_password.errors && confirm_password.dirty" class="">Password required</md-error>
</md-input-container>
<md-error class="statusError" *ngIf="statusErrorMsg">{{statusErrorMsg}}</md-error>
<button md-button class="signin-button" type="submit" [disabled]="!changePass.form.valid">Change Password</button>
</form>
<md-progress-bar *ngIf="statusPending"
class="signin-progress-bar"
[color]="'primary'"
[mode]="'indeterminate'"
[value]="50">
</md-progress-bar>
</div>
</div>
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ChangePasswordComponent } from './change-password.component';
describe('ChangePasswordComponent', () => {
let component: ChangePasswordComponent;
let fixture: ComponentFixture<ChangePasswordComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ChangePasswordComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ChangePasswordComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should be created', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { ECMSigninService } from '../ecm-signin/ecm-signin.service';
import { FormGroupDirective, NgControl, NgForm, NgModel } from '@angular/forms';
@Component( {
selector: 'change-password',
templateUrl: './change-password.component.html',
styleUrls: ['./change-password.component.css'],
providers: [ECMSigninService]
})
export class ChangePasswordComponent implements OnInit {
_username: string;
_password: string;
_npassword: string;
statusPending: boolean = false;
statusErrorMsg: string;
userData: any;
_current_password: string;
_new_password: string;
_confirm_password: string;
@Output() closePanel = new EventEmitter();
constructor( public signinService: ECMSigninService, ) { }
@Input('activeScreen') activeScreen : string = 'userInfoScreen';
activeNGForm: NgForm;
ngOnInit() {
}
changePassword(chgForm: NgForm) {
this.signinService.changeCurrentPassword( this.userData.jti, this._new_password, this._current_password, this.userData.TOKEN_ID ).subscribe(
result => {
console.log( 'comp result.results.indexOf [' + result.Response.results.indexOf( '{' ) + ']' );
if ( result.Response.status == 'success' ) {
console.log( 'Logging Out' );
alert(result.Response.results);
this.activeScreen = 'successForm';
this.userData = null;
//TODO Load Login Screen
this.closePanel.emit();
}
else if ( result.Response.status == 'error' ) {
chgForm.resetForm();
}
},
error => {
let errorMessage = <any>error;
console.log( 'comp errorMessage[' + errorMessage + ']' );
}
);
}
}
.ecm-breadcrumbs {
/* font-size: .85em; */
color: #000;
line-height: 1.5;
/* margin: 20px; */
padding-left: 0;
margin: 0;
list-style-type: none;
}
.ecm-breadcrumbs li {
display: inline;
list-style-type: none;
margin-left: 0;
}
.ecm-breadcrumbs li:before {
content: "/";
color: gray;
padding-left: 8px;
padding-right: 8px;
}
.ecm-breadcrumbs li:first-child:before {
content: "";
padding-right: 5px;
}
.ecm-breadcrumbs li a {
background-color: transparent;
color: black;
text-decoration: none;
cursor: pointer;
}
.ecm-breadcrumbs li a:hover {
/*color: rgba(199, 21, 133, 0.45);*/
color: mediumvioletred;
}
/*
.row.sub-heading {
top: 60px;
position: relative;
background: #ffffff;
max-width: 100rem;
padding-left: 3rem;
box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.1);
}
*/
/* New */
.sub-heading {
position: relative;
top: 70px;
padding-left: 3rem;
}
.img-back-32 {
content: url(../../assets/images/svg/back_32_32.svg);
}
.fixed-header-back {
position: absolute;
padding: 0;
height: 20px !important;
width: 20px !important;
min-width: 20px !important;
/* box-shadow: 0 0 0 3px rgba(0 ,0 ,0, 0.1), inset 0 0 0px 20px rgba(0 ,0, 0, 0.1); */
box-shadow: none;
cursor: pointer;
/*border-radius: 100%;*/
margin-left: -2rem !important;
background: #F2F2F2;
}
.fixed-header-back:hover {
box-shadow: 0 0 0 3px rgba(0 ,0 ,0, 0.1), inset 0 0 0px 20px rgba(0 ,0, 0, 0.1);
}
.ecm-section-info {
padding: 8px;
}
.disabled-link {
background-color: transparent;
color: gray;
text-decoration: none;
cursor: default;
}
\ No newline at end of file
<div class="row sub-heading">
<div class="ecm-section-info" >
<img class="fixed-header-back img-back-32 mat-raised-button" (click) = "backClicked();" src="back_32_32.svg" />
<ul class="ecm-breadcrumbs">
<li *ngFor="let breadcrumb of getBreadCrummbs(); let i = index">
<a *ngIf="!((i+1) == getBreadCrummbs().length)" [routerLink]="[breadcrumb.url]">{{breadcrumb.label}}</a>
<span class="disabled-link" *ngIf="(i+1) == getBreadCrummbs().length">{{breadcrumb.label}}</span>
</li>
</ul>
</div>
</div>
\ No newline at end of file
import { Component, OnInit, Input, Injectable } from '@angular/core';
import { Location } from '@angular/common';
import { Store } from '@ngrx/store';
import {AppState} from '../ecm-store/reducers';
import { ItemDetail } from '../ecm-model/product-detail-model';
import { Category } from '../ecm-model/category-model';
import { SubCategory } from '../ecm-model/subcategory-model';
import { Item } from '../ecm-model/product-model';
import { Observable } from 'rxjs/Observable';
interface IBreadcrumb {
label: string;
url: string;
}
@Injectable()
export class Breadcrumbs {
breadcrumbsList: IBreadcrumb[] = [];
get breadcrumbs(): IBreadcrumb[] { return this.breadcrumbsList; }
set breadcrumbs(breadcrumbs: IBreadcrumb[]) {
console.log('set breadcrumbs',breadcrumbs);
this.breadcrumbsList = breadcrumbs;
}
constructor() {
}
}
@Component( {
selector: 'ecm-breadcrumbs',
templateUrl: './ecm-breadcrumbs.component.html',
styleUrls: ['./ecm-breadcrumbs.component.css']
})
export class EcmBreadcrumbsComponent implements OnInit {
@Input() itemDetail: ItemDetail;
@Input() pageName;
breadcrumbs: IBreadcrumb[] = [];
category;
subcategory;
item : Observable<Item>;
constructor( private _location: Location, private store: Store<AppState>, public breadcrumbSerivce: Breadcrumbs) { }
ngOnInit() {
}
backClicked() {
//TODO : Pagewise Back click
this._location.back();
}
getBreadCrummbs(){
return this.breadcrumbSerivce.breadcrumbs;
}
}
.ecm-card {
border-radius: 5px;
box-shadow: 0 0 5px 0px #ccc;
padding: 0;
margin: 0;
position: relative;
height: 400px;
width: auto;
background-color: #fff;
border-radius: 3px;
cursor: pointer;
}
@media screen and (max-width: 640px){
.ecm-card {
box-shadow: none;
}
}
.ecm-card-img {
border-top-right-radius: 5px;
border-top-left-radius: 5px;
width: 100%;
height: calc( 100% - 90px);
}
.ecm-card-footer {
width: 100%;
height: 70px;
padding: 10px;
}
.ecm-card-info {
padding: 6px 0px 8px 8px;
/*width: calc(100% - 165px);
width: calc(100% - 150px);
float: left;*/
}
.ecm-card-info-title {
font-size: 14px;
font-weight: 600;
color: #444;
display: block;
line-height: 15px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.ecm-card-info-subhead {
font-size: 12px;
color: #888;
top: 7px;
position: relative;
overflow: hidden;
line-height: 15px;
display: block;
white-space: nowrap;
text-overflow: ellipsis;
}
/*
@supports (-webkit-line-clamp: 2) {
.ecm-card-info-subhead {
font-size: 12px;
color: #888;
top: 7px;
position: relative;
overflow: hidden;
line-height: 15px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
white-space: normal;
text-overflow: initial;
}
}
*/
.ecm-card-info-img {
float: left;
/*background-color: mediumvioletred;*/
border: none;
border-radius: 100%;
}
.ecm-card-action {
width: 90px;
height: 42px;
line-height: 15px;
font-size: 12px;
padding: 15px;
text-align: center;
float: right;
position: relative;
top: 5px;
color: #c71585;
right: 5px;
box-shadow: none;
font-weight: 700;
}
.ecm-card-action:HOVER {
background-color: mediumvioletred;
color: #fff;
}
.top {
position: absolute;
right: 20px;
top: 15px;
}
.share {
/*background-image: url("../../assets/images/share.png");*/
border: none;
width: 40px;
height: 40px;
}
.share:hover {
background-color: transparent;
}
.ecm-card-price {
/* width: 90px; */
/* height: 35px; */
/* line-height: 20px; */
/* border-radius: 2px; */
/* position: relative; */
/* top: 15px; */
/* right: 10px; */
/*
font-size: 20px;
text-align: center;
padding: 10px;
float: right;
*/
color: #333;
}
p {
color: #616161;
margin-bottom: 0;
line-height: 1.3;
}
.ecm-ratings{
/* top: 10px !important;
font-size: 20px;*/
color: rgb(500, 150, 50);
display: block;
position: relative;
text-overflow: ellipsis;
overflow: hidden;
/* top: 5px; */
}
.ecm-rupee{
color: #787878;
font-size: 14px;
}
#ecm-item {
cursor: pointer;
height: 320px;
margin-top: 5px;
}
#ecm-item-info {
/* padding: 10px;
width: calc(100% - 120px);
padding: 10px;
width: calc(100% - 80px); */
}
#ecm-item-info-title {
line-height: 15px;
padding-top: 0px;
padding-right: 5px;
position: relative;
overflow: hidden;
display: inline-block;
white-space: nowrap;
text-overflow: ellipsis;
max-width: 70%;
vertical-align: middle;
}
#ecm-item-info-subhead {
top: 5px;
line-height: 12px;
}
/* ECM Reviews */
.circle {
width: 50px;
height: 50px;
line-height: 50px;
border-radius: 100%;
font-size: 35px;
color: white;
text-align: center;
background: mediumturquoise;
position: absolute;
}
.ecm-result-header{
padding-left: 15px;
padding-right: 15px;
padding-top: 5px;
}
.ecm-select {
float: right;
padding-left: 25px;
font-size: 12px;
}
.ecm-options {
line-height: 32px;
height: 35px;
font-size: 14px;
padding: 0px 10px 0px 10px;
}
.ecm-result-info{
font-size: 18px
}
.ecm-review-tab {
padding: 20px;
}
.ecm-product-ratings{
color: rgb(500, 150, 50);
font-size: 20px;
display: block;
}
.ecm-null-ratings {
color: lightgray;
}
.review-section {
margin-left: 115px;
padding-right: 35px;
}
.ecm-review-title {
display: block;
font-size: 18px;
}
.ecm-user-comments {
font-size: 14px;
color: #444;
padding-top: 15px;
padding-bottom: 10px;
display: block;
text-align: justify;
}
.ecm-customer-details {
display: block;
color: #444;
font-size: 12px;
padding-top: 5px;
}
.user-img {
border-radius: 50%;
height: 50px;
width: 50px;
background: lightgrey;
}
.ecm-img {
padding-left: 35px;
position: absolute;
}
.ecm-reviews {
position: relative;
padding-top: 15px;
padding-bottom: 30px;
}
.ecm-result-count {
font-size: 10px;
padding-left: 15px;
color: #444;
}
.mat-select-trigger {
height: 20px !important;
}
.ecm-select-options {
display: inline-flex;
float: right;
}
.ecm-thumbsup-icon {
padding-top: 20px;
padding-left: 10px;
height: 15px;
width: 15px;
opacity: 0.4;
}
.likes-count {
font-size: 15px;
color: #444;
opacity: 0.8;
padding-left: 5px;
padding-right: 15px;
}
.ecm-seperator {
padding-left: 5px;
font-size: 20px;
}
.ecm-verified-icon {
font-size: 18px;
vertical-align: sub;
color: green;
}
.ecm-thumpsdown-icon, .ecm-thumpsup-icon{
font-size: 18px;
vertical-align: sub;
color: grey;
opacity: 0.5;
cursor: pointer;
}
.ecm-thumpsdown-icon:hover, .ecm-thumpsup-icon:hover {
color: mediumvioletred;
opacity: 1;
}
.ecm-item-footer {
/* border-top: 1px solid #f3f3f3; */
padding: 10px;
width: 100%;
}
.ecm-discount-rate{
font-weight: bold;
padding-left: 5px;
}
.ecm-discount-off{
font-weight: bold;
color: green;
padding-left: 5px;
}
.new{
background: yellow;
font-size: 12px;
padding: 2px 8px;
}
.ecm-total-ratings{
color: #333;
font-weight: bold;
font-size: 12px;
}
.ecm-wishlist-button{
position: absolute;
/* padding: 8px; */
/* padding: 8px; */
right: 25px;
top: 25px;
/* height: 40px; */
/* width: 40px; */
cursor: pointer;
line-height: 8px;
z-index: 1;
color: darkgray;
}
.ecm-wishlist-button:hover {
color: mediumvioletred !important;
}
.favourite-icon {
color: inherit;
font-size: 28px;
}
.close-icon{
color: inherit;
/* font-size: 22px; */
position: relative;
box-shadow: 0px 0px 3px 1px lightgrey;
border-radius: 100%;
}
.inwishlist {
color: mediumvioletred !important;
}
.product-img-container {
position: relative;
padding: 0;
height: 236px;
}
.trend-img-container{
position: relative;
height: calc( 100% - 90px);
padding: 0;
}
/* CSSS FOR ORDER */
.orderDescription1, .orderDescription2, .orderDescription3, .offers{
font-size: 13px;
}
.orderDescription1{
color:rgb(72, 72, 72)
}
.orderDescription2{
display: block;
font-weight: bold;
/* color: rgb(70, 67, 67); */
/* height: 40px; */
}
.deliveryDate{
font-size: 12px;
color: rgb(113, 113, 113);
position: relative;
top: 16px;
}
.trackButton{
padding-top: 28px;
padding-bottom: 12px;
}
.cancel-order-button{
display: inline-block;
height: 40px;
line-height: 40px;
text-align: center;
border-radius: 3px;
background: #fff;
color: mediumvioletred !important;
box-shadow: 0 0px 5px 1px rgba(0,0,0,.1);
min-width: 80px;
margin-right: 5px;
width: calc(50% - 10px)
}
.track-order-button{
display: inline-block;
height: 40px;
line-height: 40px;
background: mediumvioletred;
color: #fff !important;
text-align: center;
margin-left: 5px;
box-shadow: 0 0px 5px 1px rgba(0,0,0,.1);
border-radius: 3px;
min-width: 80px;
width: calc(50% - 10px);
}
.orderQuantity{
display: block;
font-size: 10px;
font-weight: bold;
color: dimgray;
height: 24px;
}
.orderPrice{
font-size: 14px;
font-weight: bold;
}
@media screen and (max-width: 640px){
.trackButton, .offers {
display: none !important;
}
.reviewScreen {
border-left: 0;
}
.reviewScreen{
border-top: 1px solid rgba(158, 158, 158, 0.28) !important;
margin-top: 40px !important;
min-height: 78px;
}
.ecm-card-price{
font-size: 14px !important;
display: inline-block !important;
}
.ecm-item-footer{
width: calc(100% - 98px) !important;
}
}
.reviewScreen{
border-left: 1px solid lightgray;
min-height: 158px;
}
<div *ngIf="card" class="ecm-card">
<img class="ecm-card-img" src="{{card.img}}" alt="Washed Out">
<div class="ecm-card-footer">
<img class="ecm-card-info-img" src="{{card.info_img}}" />
<div class="ecm-card-info">
<span class="ecm-card-info-title">{{card.info_title}}</span>
<span class="ecm-card-info-subhead">{{card.info_subhead}}</span>
</div>
<a md-raised-button *ngIf="!card.info_link" class="ecm-card-action">Open</a>
<a *ngIf="!card.info_link" class="ecm-card-action top share"></a>
</div>
</div>
<div *ngIf="category" class="ecm-card" (click)="viewCategories()">
<!-- <img class="ecm-card-img"src="{{category.resourceUrl}}{{category.catCode}}.png"alt="Category image"> -->
<bb-image [refId]='category.catCode' [refSer]="'ECMCAT'" [object]="'ECM_CATEGORY'" [attachType]="'Image'" [isThumbnail]="true"></bb-image>
<div class="ecm-card-footer">
<bb-image [refId]='category.catCode' [refSer]="'ECMCAT'" [object]="'ECM_CATEGORY'" [attachType]="'Icon'" [isThumbnail]="true"></bb-image>
<div class="ecm-card-info">
<span class="ecm-card-info-title">{{category.shDescr}}</span>
<span class="ecm-card-info-subhead">{{category.descr}}</span>
</div>
<!-- <a md-raised-button *ngIf="!category.catLink" class="ecm-card-action" (click)="viewCategories()">View</a> -->
<a *ngIf="!category.catLink" class="ecm-card-action top share" [routerLink]="[ '/share',category.catCode]"></a>
</div>
</div>
<div *ngIf="subcategory" class="ecm-card" (click)="viewProducts()">
<!-- <img class="ecm-card-img"src="{{subcategory.resourceUrl}}{{subcategory.scatCode}}.png"alt="Category image">-->
<bb-image [refId]="subcategory.scatCode + ':' + subcategory.catCode" [refSer]="'ECMCAT'" [object]="'ECM_CATEGORY'" [attachType]="'Image'" [isThumbnail]="true"></bb-image>
<div class="ecm-card-footer">
<bb-image [refId]='subcategory.catCode' [refSer]="'ECMCAT'" [object]="'ECM_CATEGORY'" [attachType]="'Icon'" [isThumbnail]="true"></bb-image>
<div class="ecm-card-info">
<span class="ecm-card-info-title">{{subcategory.shDescr}}</span>
<span class="ecm-card-info-subhead">{{subcategory.descr}}</span>
</div>
<!-- <a md-raised-button *ngIf="!subcategory.catLink" class="ecm-card-action" (click)="viewProducts()">View</a> -->
<a *ngIf="!subcategory.catLink" class="ecm-card-action top share" [routerLink]="[ '/share',subcategory.scatCode]"></a>
</div>
</div>
<div *ngIf="itemData" >
<!-- <div class="ecm-wishlist-button">
<md-button-toggle class="wishButton">
<md-icon style="position: relative;right: -10px;" *ngIf="!inWishlist" (click)="addToWishlist();">favorite_border</md-icon>
<md-icon style="position: relative;right: -10px;" (click)="removeFromWishlist();" >favorite</md-icon>
</md-button-toggle>
</div> -->
<div class="ecm-card" id="ecm-item" (click)="viewItem()">
<bb-image [ngClass]="trendImg ? 'trend-img-container' : 'product-img-container'" class="large-12 columns" [isThumbnail]="true" [refId]='itemData.itemCode' [refSer]="'M-ITEM'" [object]="'ITEM'" [isSingleImage] = "true" ></bb-image>
<div class="ecm-item-footer large-12 columns">
<div class="ecm-item-info" id="ecm-item-info">
<span id="ecm-item-info-title" class="ecm-card-info-title">{{itemData.itemHeader.itemShDescr}}</span>
<span class="new" >New</span>
<!--
<span *ngIf="itemData.cat_sh_descr && itemData.scat_sh_descr" class="ecm-card-info-subhead" id="ecm-item-info-subhead">{{itemData.cat_sh_descr}} - {{itemData.scat_sh_descr}}</span>
<span *ngIf="extraParam && !itemData.cat_sh_descr && !itemData.scat_sh_descr" class="ecm-card-info-subhead" id="ecm-item-info-subhead">{{extraParam.catShDesc}} - {{extraParam.scatDesc}}</span>
-->
</div>
<div class="ecm-card-price"><span class="ecm-rupee"></span><s style="color:lightgray;">Rs. {{itemData.itemHeader.itemCostRate | number : '3.1-5'}}</s>
<span class="ecm-discount-rate">Rs.{{itemData.itemHeader.itemDiscountedRate | number : '3.1-5'}}</span>
<span class="ecm-discount-off">{{itemData.itemHeader.itemDiscount}}% off</span>
</div>
<div class="ecm-ratings">
<rating style="vertical-align: sub;" [rate]="itemData.itemRatings.AVG_RATING" [isSmallRatings]=true></rating>
<span class="ecm-total-ratings">({{itemData.itemRatings.NO_OF_RATINGS}})</span>
</div>
</div>
</div>
<div [ngClass]="inWishlist ? 'inwishlist' : ''" [style.top]="IS_WISHLIST ? '25px' : '15px'" class="ecm-wishlist-button">
<md-icon *ngIf="!IS_WISHLIST" class="favourite-icon" (click)="inWishlist ? removeFromWishlist.emit() : addToWishlist.emit()">favorite</md-icon>
<md-icon *ngIf="IS_WISHLIST" class="close-icon" (click)="removeFromWishlist.emit()">close</md-icon>
</div>
</div>
<!-- <div *ngIf="outingData" class="ecm-card" id="ecm-item" (click)="viewItem()">
<bb-image [isThumbnail]="true" [refId]='itemData.itemCode' [refSer]="'M-ITEM'" [object]="'ITEM'" [isSingleImage] = "true" ></bb-image>
<div class="ecm-item-footer">
<div class="ecm-card-info" id="ecm-item-info">
<span id="ecm-item-info-title" class="ecm-card-info-title">{{itemData.shDescr}}</span>
<!--
<span *ngIf="itemData.cat_sh_descr && itemData.scat_sh_descr" class="ecm-card-info-subhead" id="ecm-item-info-subhead">{{itemData.cat_sh_descr}} - {{itemData.scat_sh_descr}}</span>
<span *ngIf="extraParam && !itemData.cat_sh_descr && !itemData.scat_sh_descr" class="ecm-card-info-subhead" id="ecm-item-info-subhead">{{extraParam.catShDesc}} - {{extraParam.scatDesc}}</span>
<span class="ecm-ratings">
<span *ngFor="let a of createRatings(itemData.rating);">&#x2605;</span>
</span>
</div>
<div class="ecm-card-price"><span class="ecm-rupee">Rs. </span>{{itemData.costRate}}</div>
</div>
</div> -->
<div *ngIf="reviewsData" class="ecm-reviews">
<div class="ecm-img"> <span class="circle"> {{reviewsData.reviewBy.charAt(0).toUpperCase()}} </span> </div>
<div class="review-section">
<span class="ecm-product-ratings">
<span *ngFor="let a of createRatings(reviewsData.productRating);" >
&#x2605;
</span>
<span *ngFor="let a of createRatings(5 - reviewsData.productRating);" class="ecm-null-ratings">
&#x2605;
</span>
</span>
<span class="ecm-review-title">{{reviewsData.productRemarks}}</span>
<span class="ecm-customer-details"> By {{reviewsData.reviewBy}} on {{reviewsData.reviewDate | date :'longDate'}} <span class="ecm-seperator">|</span> <i class="material-icons ecm-verified-icon">&#xE86C;</i> Verified Customer</span>
<span class="ecm-user-comments">{{reviewsData.productComments}}</span>
<i (click)="updateLikes(reviewsData.item_code)" class="material-icons ecm-thumpsup-icon">&#xE8DC;</i>
<span class="likes-count"> {{reviewsData.productUsfulCnt}} </span>
<i (click)="updateDislikes(reviewsData.item_code)" class="material-icons ecm-thumpsdown-icon">&#xE8DB;</i>
<span class="likes-count"> {{reviewsData.productNotUsfulCnt}} </span>
</div>
</div>
<div *ngIf="orderDetails">
<div class="small-4 medium-2 large-2 columns">
<bb-image [refId]='orderDetails.itemCode' [refSer]="'M-ITEM'" [object]="'ITEM'" [isSingleImage]="true" [isThumbnail]="true"></bb-image>
</div>
<div class="small-8 medium-3 large-3 columns orderDescriptiom">
<span class="orderDescription1">{{itemDetail?.itemHeader.itemShDescr}}</span>
<span class="orderDescription2">{{itemDetail?.itemHeader.itemDescr}}</span>
<span class="deliveryDate">Delivery expected between 4 to 5 days</span>
<div class="trackButton">
<button md-button class="cancel-order-button" (click)="cancelOrder()">Cancel</button>
<button md-button class="track-order-button" (click)="trackOrder()">Track</button>
</div>
</div>
<div class="small-3 medium-3 large-3 columns offers"
style="text-align: center;">
<span class="orderQuantity">Quantity {{orderDetails?.quantity}}</span>
<span class="orderPrice">Rs {{orderDetails?.rate}}</span>
</div>
</div>
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { MdSnackBar } from '@angular/material';
import { Store } from '@ngrx/store';
import {AppState} from '../ecm-store/reducers';
import { ECMCard } from '../ecm-model/card-model';
import { Category } from '../ecm-model/category-model';
import { SubCategory } from '../ecm-model/subcategory-model';
import { ItemDetail } from '../ecm-model/product-detail-model';
import { Reviews } from '../ecm-model/product-review.model';
import { EcmProductReviewService } from '../ecm-product-details/ecm-product-review.service';
import {EcmProductDetailService} from '../ecm-product-details/ecm-product-detail.service'
import { Observable } from 'rxjs/Observable';
import { Item } from '../ecm-model/product-model';
import { Order } from '../ecm-model/order-model';
import { ItemActions } from '../ecm-store/actions';
@Component({
selector: 'ecm-card',
templateUrl: './ecm-card.component.html',
styleUrls: ['./ecm-card.component.css']
})
export class ECMCardComponent implements OnInit {
@Input() card: ECMCard;
@Input() category: Category;
@Input() subcategory: SubCategory;
@Input() itemData: ItemDetail;
@Input() extraParam: any;
@Input() reviewsData: Reviews;
@Input('trendImg') trendImg: boolean;
@Input() orderDetails: Order;
inWishlist: boolean;
@Output() storeData = new EventEmitter();
@Output() addToWishlist = new EventEmitter();
@Output() removeFromWishlist = new EventEmitter();
itemCode: any;
itemDetail: ItemDetail;
wishlistItems: Observable<Item[]>;
categoryList: any;
IS_WISHLIST: boolean;
constructor(private route: ActivatedRoute,private router: Router, private productDetailService: EcmProductDetailService, private productReviewService: EcmProductReviewService, private store: Store<AppState>, private itemAction: ItemActions, public snackBar: MdSnackBar,) {
}
ngOnInit() {
console.log('order detail in ecm-card :---',this.orderDetails);
if(this.itemData){
this.wishlistItems = this.store.select('wishlistItems');
this.wishlistItems.subscribe( wishlistItems => {
if(wishlistItems.find(x => x.itemCode === this.itemData.itemCode))
this.inWishlist = true;
else
this.inWishlist = false;
} );
}
let openRoutePath = this.route.snapshot.url[0].path;
if(openRoutePath == 'wishlist'){
this.IS_WISHLIST = true;
}
let menu : Observable<any> = this.store.select('menuList');
menu.subscribe( menuList => {
this.categoryList = menuList.summary;
console.log('menuList.summary',menuList, menuList.summary);
});
if(this.orderDetails){
this.productDetailService.getItemDetail(this.orderDetails.itemCode).subscribe(
itemDetail => {
this.itemDetail = itemDetail;
}
);
}
}
viewItem(){
// this.recentviewService.storeRecentViewItem(this.itemData.itemCode);
this.storeData.emit(this.itemData);
this.router.navigate(['/detail',this.itemData.itemCode]);
}
createRatings(ratings){
var rating: number[] = [];
for(var i = 1; i <= ratings; i++){
rating.push(i);
}
return rating;
}
viewCategories(){
let cat = this.categoryList.find( category => category.catCode === this.category.catCode);
console.log( this.categoryList, cat );
if( cat && !cat.subcategory ){
this.store.dispatch( this.itemAction.loadItems( this.category.catCode ) );
this.router.navigate([ '/products', this.category.catCode]);
}
else {
this.storeData.emit(this.category);
this.router.navigate([ '/categories', this.category.catCode]);
}
}
viewProducts(){
this.storeData.emit(this.subcategory);
this.router.navigate([ '/products', this.subcategory.scatCode]);
}
updateLikes(item_code) {
if(this.isAuthUser())
{
let likesData ="{\"userId\":\""+this.reviewsData.userId+"\",\"productUsfulCnt\":\""+(this.reviewsData.productUsfulCnt+1)+"\",\"productNotUsfulCnt\":\""+this.reviewsData.productNotUsfulCnt+"\"}";
console.log("Likes Data-->");
console.log(likesData);
this.productReviewService.updateLikes(item_code, likesData);
}
else
{
alert("Please Login First.");
}
}
updateDislikes(item_code) {
if(this.isAuthUser())
{
let likesData ="{\"userId\":\""+this.reviewsData.userId+"\",\"productUsfulCnt\":\""+this.reviewsData.productUsfulCnt+"\",\"productNotUsfulCnt\":\""+(this.reviewsData.productNotUsfulCnt-1)+"\"}";
console.log("Likes Data-->");
console.log(likesData);
this.productReviewService.updateLikes(item_code, likesData);
}
else
{
alert("Please Login First.");
}
}
isAuthUser(){
var isAuthUser;
var userInfo = localStorage.getItem( 'userInfo' );
console.log( 'EcmUserOptionComponent getUserInfo ::' + userInfo );
if ( userInfo !== 'undefined' && userInfo !== null && userInfo !== 'null' )
{
isAuthUser = true;
}
else
{
isAuthUser = false;
}
return isAuthUser;
}
//////////////////////////////////// FOR ORDERS ////////////////////////////////////////////
cancelOrder(){
this.openSnackBar( 'The Order has been canceled' );
}
openSnackBar( message: string ) {
this.snackBar.open( message, '', {
duration: 2000,
});
}
}
.view-all-card {
border-radius: 5px;
box-shadow: 0 0 5px 0px #ccc;
padding: 0;
margin: 0;
position: relative;
height: 400px;
width: auto;
padding-top: 50%;
padding-left: 30%;
}
.view-all-link {
color: mediumvioletred;
font-size: 32px;
}
.carousel {
width: 100%;
}
.carousel-cell {
height: 400px;
margin-right: 10px;
border-radius: 5px;
counter-increment: gallery-cell;
}
.carousel-cell:before {
display: block;
text-align: center;
line-height: 200px;
font-size: 80px;
color: white;
}
.carousel-cell #ecm-item {
height: 400px !important;
}
/* full height */
.flickity-prev-next-button {
position: absolute;
top: 50%;
width: 44px !important;
height: 44px !important;
border: none;
border-radius: 50%;
background: white;
cursor: pointer;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
box-shadow: 0 0px 5px 1px rgba(0,0,0,.1);
transition: background-color .25s ease-out, color .25s ease-out;
}
.flickity-prev-next-button:hover,
.flickity-prev-next-button:focus {
opacity: 1;
background: transparent;
}
.flickity-prev-next-button:disabled {
display: none;
}
button.flickity-prev-next-button.next:before {
content: "\203A";
font-size: 32px;
line-height: 16px;
}
button.flickity-prev-next-button.previous:before {
content: "\2039";
font-size: 32px;
line-height: 16px;
}
/* arrow visibility */
.flickity-prev-next-button .arrow {
display: none;
}
/* prev-next button position outside and background image */
.flickity-prev-next-button.previous {
left: -20px;
width: 40px;
top: 205px;
background-repeat: no-repeat;
background-position: 50% 50%;
}
.flickity-prev-next-button.next {
right: -16px;
width: 40px;
top: 205px;
background-repeat: no-repeat;
background-position: 50% 50%;
}
.flickity-prev-next-button.next:active {
color: white;
background-color: black;
opacity: 1;
}
.flickity-prev-next-button.previous:active {
color: white;
background-color: black;
opacity: 1;
}
.flickity-prev-next-button:hover, .flickity-prev-next-button:focus {
background: white;
}
/*
.flickity-page-dots .dot {
display: inline-block;
width: 10px;
height: 10px;
margin: 0 10px;
border-radius: 100%;
cursor: pointer;
background-color: rgba(0, 0, 0, 0);
border: 1px solid mediumvioletred;
}
.flickity-page-dots .dot.is-selected {
background-color: mediumvioletred;
}
*/
.flickity-page-dots {
display: none;
}
@media only screen and (max-width: 1024px) {
.flickity-prev-next-button.previous {
left: 0px;
width: 40px;
}
.flickity-prev-next-button.next {
right: 0px;
width: 40px;
}
}
<div class="carousel" [attr.data-flickity]="cardsPerSlide" >
<div class="carousel-cell small-12 medium-6 large-4 column end " *ngFor="let cardItem of cardItems">
<ecm-card *ngIf='! cardItem.viewAll' [itemData]="cardItem" [trendImg]="true" (addToWishlist)="addToWishlist(cardItem);" (removeFromWishlist)="removeFromWishlist(cardItem);"></ecm-card>
<div *ngIf='cardItem.viewAll' class="view-all-card" >
<a md-button class="view-all-link" (click)="viewAll();">{{cardItem.viewAll}}</a>
</div>
</div>
</div>
<ecm-panel #ecmPanel>
</ecm-panel>
\ No newline at end of file
import { Component, OnInit, Input, ViewEncapsulation, OnChanges, ViewChild } from '@angular/core';
import { MdSnackBar } from '@angular/material';
import { RESIZE_EVENT } from '../ecm-store/ecm-resize';
import { AppState } from '../ecm-store/reducers';
import { Store } from '@ngrx/store';
import { WishListActions } from '../ecm-store/actions';
import { EcmPanelComponent } from '../ecm-view/ecm-panel/ecm-panel.component';
declare var reinitFlickity: any;
@Component( {
selector: 'ecm-carousel',
templateUrl: './ecm-carousel.component.html',
styleUrls: ['./ecm-carousel.component.css'],
encapsulation: ViewEncapsulation.None
})
export class EcmCarouselComponent implements OnInit, OnChanges {
@Input() cardItems: any;
cardsPerSlide: string = '{ "groupCells": 3 }';
@ViewChild( 'ecmPanel' ) ecmPanel: EcmPanelComponent;
constructor(private wishlistAction: WishListActions, private store: Store<AppState>, public snackBar: MdSnackBar) {}
ngOnInit() {
/*
console.log( " ngOnInit this.cardItems [" + this.cardItems + "]");
if( this.cardItems && this.cardItems.length > 10 ) {
let size = this.cardItems.length;
this.cardItems = this.cardItems.slice(0, 9);
console.log( "size[" + size + "]this.cardItems [" + this.cardItems + "]");
let viewAll = {"viewAll" : "View All +"};
this.cardItems.push( viewAll );
console.log( "viewAll [" + viewAll + "]");
console.log( "this.cardItems [" + this.cardItems + "]");
}
*/
RESIZE_EVENT.subscribe(data => {
//console.log("data["+data+"]");
this.callUpdate( data );
});
let data = document.documentElement.clientWidth;
this.callUpdate( data );
}
callUpdate( data : any ) {
if( data > 1024 )
{
this.update(3);
}
else if( data < 1023 && data > 639 )
{
this.update(2);
}
else if( data < 640 )
{
this.update(1);
}
}
update( numOfCard : number ) {
this.cardsPerSlide = '{ "groupCells": ' + numOfCard + ' }';
reinitFlickity();
}
viewAll() {
alert("View All Treding Items");
}
ngOnChanges(){
console.log("ngOnChanges of Carousel");
}
addToWishlist( item ) {
if(this.isAuthUser())
{
this.store.dispatch( this.wishlistAction.addToWishlistSuccess( item ) );
this.openSnackBar('Item Added to your Wishlist');
}
else
{
//this.header.userAction();
this.ecmPanel.open({ type: 'overlay', option: 'SIGNIN_OPT', top:'100px', left: 'calc( 50% - 375px / 2 )', width:'375px', height: '535px' });
}
}
removeFromWishlist( item ){
this.store.dispatch( this.wishlistAction.deleteWishlistItemSuccess( item ) );
this.openSnackBar('Item Deleted from your Wishlist');
}
openSnackBar( message: string ) {
this.snackBar.open( message, '', {
duration: 2000,
});
}
isAuthUser(){
var isAuthUser;
var userInfo = localStorage.getItem( 'userInfo' );
if ( userInfo !== 'undefined' && userInfo !== null && userInfo !== 'null' )
{
isAuthUser = true;
}
else
{
isAuthUser = false;
}
return isAuthUser;
}
}
.ecm-content {
width: 100%;
height: auto;
padding-bottom: 100px;
padding-bottom: 50px;
}
\ No newline at end of file
<div class="ecm-content">
<ecm-trend-product> </ecm-trend-product>
<ecm-category> </ecm-category>
</div>
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'ecm-content' ,
templateUrl: './ecm-content.component.html',
styleUrls: ['./ecm-content.component.css']
})
export class ECMContentComponent implements OnInit {
constructor() { }
ngOnInit() {
console.log('ECMContentComponent onInit');
}
}
/*Images Source*/
/*
.img-logo {
content: url(../../assets/images/w_logo_38_38.png);
content: url(../../assets/images/svg/w_logo_38_38.svg);
}
.img-twitter {
content: url(../../assets/images/w_twitter_38_38.png);
}
.img-gplus {
content: url(../../assets/images/w_google_plus_38_38.png);
}
.img-facebook {
content: url(../../assets/images/w_facebook_38_38.png);
}
.footer-section {
background-color: #2a2a2a;
width: 100%;
height: 200px;
}
.footer-section-60 {
height: 60px;
}
.footer-subscribe {
width: 100%;
height: 140px;
padding: 40px 0 40px 0;
}
.subscribe-form {
height: 60px;
width: 100%;
overflow: hidden;
position: relative;
}
.subscribe-email {
border: none;
border-radius: 5px;
width: 100%;
height: 60px;
position: relative;
outline: none;
font-size: 14pt;
padding: 10px 0 10px 40px;
background-color: #252525;
max-width: 552px;
float: right;
box-shadow: none;
color: #fff;
}
.subscribe-submit {
margin: 0;
padding: 0;
top: 7px;
height: 45px;
width: 128px;
color: #ffffff;
background: mediumvioletred;
position: relative;
font-size: 14pt;
line-height: 1px;
text-align: center;
border: none;
border-radius: 2px;
}
.footer-social {
border-bottom: 3pt solid #b600aa;
background-color: #222222;
width: 100%;
height: 60px;
}
.footer-social-left {
display: inline-block;
width: 38px;
}
.footer-social-right {
float: right;
}
.row.row-footer {
max-width: 100rem;
top: 11px;
position: relative;
}
*/
/* New Footer */
.ecm-footer {
min-height: 50px;
text-align: center;
background-color: white;
box-shadow: 0 0px 5px 1px rgba(0,0,0,.1);
margin-top: 30px;
width: 100%;
}
.footer-title {
color: black;
display: block;
padding-top: 15px;
}
.terms-title {
color: mediumvioletred;
font-weight: 700;
}
.policy-title {
color: mediumvioletred;
font-weight: 700;
}
<!--
<section class="footer-section ">
<div class="footer-subscribe ">
<form action="#" method="post" class="subscribe-form" id="subscribe-form" #subscribeForm>
<div class="row">
<div class="small-8 column">
<input type="text" class="subscribe-email" name="subscribe-email"placeholder="Enter Your Email ID" #subscribeEmail />
</div>
<div class="small-4 column">
<button md-raised-button type="submit" class="subscribe-submit" (click)="subscribeForm.submit();">Subscribe</button>
</div>
</div>
</form>
</div>
<div class="footer-social">
<div class="row row-footer">
<div class="small-12 columns">
<span class="footer-social-left"> <img class="img-logo"></span>
<span class="footer-social-right"> <img class="img-facebook">
<img class="img-gplus"> <img class="img-twitter">
</span>
</div>
</div>
</div>
</section>
-->
<div class="ecm-footer">
<span class="footer-title">Design & Developed @ Proteus Technologies Pvt. Ltd. All Rights Reserved. <span class="terms-title">Terms</span> and <span class="policy-title">policy</span></span>
</div>
\ No newline at end of file
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'ecm-footer',
templateUrl: './ecm-footer.component.html',
styleUrls: ['./ecm-footer.component.css']
})
export class ECMFooterComponent implements OnInit {
constructor() { }
ngOnInit() {
console.log(' ECMFooterComponent onInit ');
}
}
.input-container {
height: 600px;
padding: 50px 0 50px 0;
}
.input-container-bg {
background-image: url(../../assets/images/banner.png);
background-size: 100% 100%;
-webkit-filter: contrast(100%) brightness(50%);
filter: contrast(100%) brightness(50%);
position: absolute;
height: 600px;
width: 100%;
z-index : -1;
}
/*Images Source*/
.img-user {
content: url(../../assets/images/w_user_128_128.png);
}
.user-adj {
position: absolute;
left: calc( 100% - 200px );
padding: 0;
margin: 0;
-webkit-filter: contrast(100%) brightness(85%);
filter: contrast(100%) brightness(85%);
border-radius: 100%;
cursor: pointer;
}
.img-logo {
content: url(../../assets/images/logo.png);
}
.logo-adj {
position: relative;
left: calc( ( 100% / 2 ) - 100px );
/* left: calc( ( 100% / 2 ) - 150px ); */
padding: 0;
padding-bottom: 75px;
padding-top: 75px;
margin: 0;
}
.user-image-128{
width: 128px;
height: 128px;
}
.img-user-32 {
content: url(../../assets/images/svg/user_32_32.svg);
}
.img-logo-32 {
content: url(../../assets/images/svg/logo_32_32.svg);
}
.img-cart-32 {
content: url(../../assets/images/svg/cart_32_32.svg);
}
/*Fixed Header*/
ecm-search{
width: calc( 100% - 300px )
}
.square-button {
height: 60px !important;
width: 60px !important;
/* padding: 0 !important; */
min-width: 60px !important;
vertical-align: middle !important;
}
.invisible{
display: none;
}
.fixed-header-section {
background-color: mediumvioletred;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 60px;
z-index: 3;
display: none;
}
.fixed-header-logo{
float: left;
cursor: pointer;
margin-left: 10px;
}
.fixed-header-logo,
.fixed-header-user,
.fixed-header-cart {
position: relative;
height: 42px;
width: 42px;
padding: 0;
}
.fixed-header-user,
.fixed-header-no-user{
border-radius: 100%;
cursor: pointer;
height: 32px;
width: 32px;
}
.fixed-header-no-user{
background: rgba(0,0,0,0.1);
box-shadow: 0 0 0px 5px rgba(0,0,0,0.1);
height: 28px;
width: 28px;
}
.fixed-header-cart{
cursor: pointer;
height: 28px;
width: 28px;
position: relative;
}
.fixed-header-badge {
position: absolute;
top: 0;
left: 32px;
z-index: 1;
margin: 0;
padding: 0;
margin-top: 10px;
background: #fff;
color: mediumvioletred;
border: 3px solid mediumvioletred;
font-weight: bolder;
font-size: xx-small;
border-radius: 100%;
display: inline-block;
width: 20px;
height: 20px;
line-height: 16px;
text-align: center;
}
.no-badge {
margin-right: 10px !important;
}
.user-span,
.cart-span{
float: right;
}
.user-span:after,
.cart-span:after {
content: '';
display: block;
position: absolute;
border-color: transparent transparent #fff transparent;
border-style: solid;
border-width: 10px;
top: 40px;
margin-left: 20px;
}
.siteHeading {
/*position: absolute;
width: 25%;
display: inline-block;
margin-left: 20px !important;
margin: 16px;
color: #fff;
font-size: large;*/
position: relative;
display: inline-block;
margin: 15px 30px 15px 15px;
color: #fff;
font-size: 14pt;
font-weight: bold;
}
/*Fixed Header Menu*/
.fixed-header-nav{
/* top: 13px;
left: 1.5rem;
position: fixed;
z-index: 4;
*/
/* height: 45px; */
/* top: 0;
left: 0;
position: fixed;
z-index: 4;
height: 100%; */
top: 13px;
left: 1.5rem;
position: fixed;
z-index: 4;
}
/*Right Slide Panel*/
.ecm-bgGlass {
background-color: gray;
opacity: 0.5;
z-index: 4;
position: fixed;
left: 0px;
top: 0px;
display: none;
width: 100%;
height: 100%;
}
.overlayPanel {
/* width: 400px; */
/* height: 509px; */
width : 375px;
height : 500px;
position: fixed;
top: calc( 50% - 500px / 2 );
left: calc( 50% - 375px / 2 );
box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.2);
z-index: 4;
display: none;
border-radius: 2px;
background: #fff;
}
.rightSlidePanel {
width: 400px;
max-height: calc( 100% - 60px );
position: fixed;
right: 5px;
/* top: 40px; */
top: 60px;
box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.2);
z-index: 4;
display: none;
border-radius: 5px;
background: #fff;
}
@media screen and (max-width:30em)
{
.overlayPanel
{
width: 100%;
height: 100%;
top: 0;
left: 0;
}
.overlayPanel-content{
position: relative;
display: block;
height: 100%;
overflow: hidden;
overflow-y: auto;
}
.siteHeading{
display : none;
}
}
.button {
width: 90px;
height: 35px;
line-height: 15px;
text-align: center;
border: 1px solid mediumvioletred;
background-color:transparent;
border-radius: 2px;
float: left;
position: relative;
top: 15px;
color: #333;
right: 10px;
margin:2rem;
font-size: .9rem;
}
.button:hover {
background-color: mediumvioletred;
color: #fff;
}
/* Toggle button */
.hide-button {
top: 0;
right: 0;
position: absolute;
display: inline-block;
width: 24px;
height: 24px;
margin: 15px;
background-color: transparent;
border: none;
cursor: pointer;
border-radius: 100%;
transition: 0.6s;
-webkit-transition: 0.6s;
z-index: 4;
}
.hide-button:hover {
box-shadow: 0 0 0 8px rgba(0, 0, 0, 0.1), inset 0 0 0 20px
rgba(0, 0, 0, 0.1);
}
.hide-button:before, .hide-button:after {
position: absolute;
content: '';
top: 50%;
left: 0;
width: 100%;
height: 2px;
background-color: #EC7263;
background-color: mediumvioletred;
border-radius: 5px;
transition: 0.5s;
}
.hide-button:before {
transform: translateY(-50%) rotate(45deg) scale(1);
}
.hide-button:after {
transform: translateY(-50%) rotate(-45deg) scale(1);
}
.medium-btn-checkout{
width: 100%;
height: 50px;
line-height: 15px;
text-align: center;
border: 1px solid mediumvioletred;
background-color: mediumvioletred;
border-radius: 2px;
float: left;
position: relative;
top: 15px;
color: white;
right: 10px;
margin: 2rem;
font-size: .9rem;
margin-left: 14px;
}
.width-300{
width: 300px;
}
/*mobile view */
.toolbar-spacer{
flex: 1 1 auto;
}
/*
.mat-dialog-container {
max-width: 100% !important;
height: 60px !important;
overflow: hidden !important;
padding: 0px !important;
border-radius: 0 !important;
}
*/
.mat-dialog-container {
padding: 0px !important;
max-width: 100% !important;
}
.mobile-search{
color: #fff;
}
.back-search{
color: mediumvioletred;
}
.back-search: hover{
color: #fff;
background-color: mediumvioletred;
}
.ecm-menu-icon {
background-color: white;
margin: 6px 0;
display: block;
}
.nav-menu-box {
height: 60px;
width: 60px;
}
.ecm-menu-icon1 {
height: 2px;
width: 25px;
}
.ecm-menu-icon2 {
height: 2px;
width: 22px;
}
.ecm-menu-icon3 {
height: 2px;
width: 25px;
}
.onSelect {
background: rgba(68, 68, 68, 0.16);
}
@media screen and (max-width: 750px){
.logo-adj{
width: 128px;
left: calc( 50% - 64px );
margin-bottom: 60px;
}
.user-adj {
width: 75px;
left: calc( 100% - 90px );
top: 15px;
}
}
\ No newline at end of file
<!-- Overlay Start
<div #bgGlass class="ecm-bgGlass"></div>
<div #overlayPanel class="overlayPanel" >
<span (click)="hideOverlayPanel();" class="hide-button"></span>
<ecm-signin *ngIf="sideOption=='USER_OPT'" (closePanel)="hideOverlayPanel(); createUserData();" ></ecm-signin>
</div>
Overlay End -->
<!-- SlidePanel Start
<div #rightSlidePanel class="rightSlidePanel" [ngClass]="{'width-300': ( sideOption=='CART_OPT' && (cartItems | async)?.length == 0 ) }" >
<span (click)="hideSidePanel();" class="hide-button"></span>
<ecm-user-option *ngIf="sideOption=='USER_OPT'" (closePanel)="hideSidePanel(); createUserData();" (updateProfileImages) = "updateProfileImages();" ></ecm-user-option>
<div *ngIf="sideOption=='CART_OPT'" style="margin: 3rem;" >
<ecm-cart [isMiniCart] = 'true' (closePanel)="hideSidePanel();" ></ecm-cart>
</div>
</div>
SlidePanel End -->
<ecm-panel #ecmPanel>
</ecm-panel>
<div *ngIf="!isFixedHeader; then floatHeader " ></div>
<section *ngIf="isFixedHeader" class="fixed-header-section" style="opacity: 1; display: block;">
<ng-container *ngTemplateOutlet="fixedHeader"></ng-container>
</section>
<ng-template #floatHeader>
<section class="header-section visible">
<div class="input-container-bg" [@fadeState]="headerFadeState"></div>
<div class="input-container">
<span>
<img *ngIf="userData" (click)="userAction();" [src]="profileImageLink" (error)="this.src = hostUrl + '/ecm/assets/images/w_user_128_128.png'; " class="user-adj user-image-128" title= "{{userData.name}}" [@userState]="headerFadeState" />
<img *ngIf="!userData" (click)="userAction();" class="img-user user-adj" [@userState]="headerFadeState" src="w_user_128_128.png"/>
</span>
<div class="row">
<div class="small-12 medium-10 large-10 medium-centered column">
<img class="img-logo logo-adj" [@l2dLogoTrans]="headerFadeState" src="logo.png" />
<ecm-search [compFadeState]="headerFadeState" [headerState]="'relative'"></ecm-search>
</div>
</div>
</div>
</section>
<section class="fixed-header-section" [@fixedHeaderShow]="headerFadeState">
<ng-container *ngTemplateOutlet="fixedHeader"></ng-container>
</section>
</ng-template>
<ng-template #fixedHeader>
<div *ngIf="clientWidth >= 640" >
<ng-container *ngTemplateOutlet="fixedHeaderLarge"></ng-container>
</div>
<div *ngIf="clientWidth < 639" >
<ng-container *ngTemplateOutlet="fixedHeaderSmall"></ng-container>
</div>
</ng-template>
<ng-template #fixedHeaderLarge>
<md-toolbar color="primary">
<button md-button (click)="menuAction();" class="square-button">
<span class="ecm-menu-icon ecm-menu-icon1"></span>
<span class="ecm-menu-icon ecm-menu-icon2"></span>
<span class="ecm-menu-icon ecm-menu-icon3"></span>
</button>
<img class="fixed-header-logo img-logo-32" src="logo_32_32.svg" />
<span class="siteHeading">{{siteHeading}}</span>
<ecm-search [compFadeState]="headerFadeState" [headerState]="'fixed'"></ecm-search>
<span (click)="cartAction();" mdTooltip="Show Cart" [mdTooltipPosition]="'below'" >
<button md-button class="square-button">
<span *ngIf="(cartItems | async)?.length!=0" class="fixed-header-badge">{{(cartItems | async)?.length}}</span>
<img class="fixed-header-cart img-cart-32" src="cart_32_32.svg"/>
<!-- <img *ngIf="cartItems == 0" class="fixed-header-cart img-cart-32 no-badge" /> -->
<!--<md-icon class="example-icon">shopping_cart</md-icon>-->
</button>
</span>
<span (click)="userAction();" [mdTooltip]="userToolTipText" [mdTooltipPosition]="'below'">
<button md-button class="square-button">
<img *ngIf="userData" [src]="profileImageLink" (error)="this.src = hostUrl + '/ecm/assets/images/svg/user_32_32.svg'; this.className = 'fixed-header-no-user'" title="{{userData.name}}" [ngClass]="( userImage.src.indexOf('/ibase/') > 0 ) ? 'fixed-header-user' : 'fixed-header-no-user' " #userImage/>
<img *ngIf="!userData" class="fixed-header-no-user img-user-32" src="user_32_32.svg"/>
<!--<md-icon class="example-icon">account_circle</md-icon>-->
</button>
</span>
</md-toolbar>
</ng-template>
<ng-template #fixedHeaderSmall >
<md-toolbar color="primary">
<div (click)="menuAction();" class="user-nav-menu">
<span class="ecm-menu-icon ecm-menu-icon1"></span>
<span class="ecm-menu-icon ecm-menu-icon2"></span>
<span class="ecm-menu-icon ecm-menu-icon3"></span>
</div>
<img class="fixed-header-logo img-logo-32" src="logo_32_32.svg" />
<span class="siteHeading">{{siteHeading}}</span>
<span class="toolbar-spacer"></span>
<span>
<button md-button class="square-button" (click)="searchAction();" style="position: inherit;">
<i class="material-icons mobile-search">search</i>
</button>
</span>
<span (click)="cartAction();" mdTooltip="Show Cart" [mdTooltipPosition]="'below'" >
<button md-button class="square-button">
<span *ngIf="cartCounter > 0" class="fixed-header-badge">{{ cartCounter }}</span>
<img class="fixed-header-cart img-cart-32" src="cart_32_32.svg"/>
<!-- <img *ngIf="cartItems == 0" class="fixed-header-cart img-cart-32 no-badge" /> -->
<!--<md-icon class="example-icon">shopping_cart</md-icon>-->
</button>
</span>
<span (click)="userAction();" [mdTooltip]="userToolTipText" [mdTooltipPosition]="'below'" >
<button md-button class="square-button">
<img *ngIf="userData" [src]="profileImageLink" (error)="this.src = hostUrl +'/ecm/assets/images/svg/user_32_32.svg'; this.className = 'fixed-header-no-user'" title="{{userData.name}}" [ngClass]="( userImage.src.indexOf('/ibase/') > 0 ) ? 'fixed-header-user' : 'fixed-header-no-user' " #userImage/>
<img *ngIf="!userData" class="fixed-header-no-user img-user-32" src="user_32_32.svg"/>
<!--<md-icon class="example-icon">account_circle</md-icon>-->
</button>
</span>
</md-toolbar>
</ng-template>
<span style="float:left;">
<button md-button class="square-button" (click)="dialogRef.close()" >
<i class="material-icons back-search">keyboard_backspace</i>
</button>
</span>
<ecm-search [compFadeState]="headerFadeState" [headerState]="'mobile'" (closePanel)="closePanel()"></ecm-search>
<ecm-header [isFixedHeader]=true> </ecm-header>
<ecm-content> </ecm-content>
<ecm-footer> </ecm-footer>
\ No newline at end of file
import { Component, OnInit, OnDestroy } from '@angular/core';
@Component({
selector: 'ecm-explore',
templateUrl: './ecm-explore.component.html',
styleUrls: ['./ecm-explore.component.css']
})
export class ECMExploreComponent implements OnInit, OnDestroy {
constructor() { }
ngOnInit() {
console.log(' ECMExploreComponent ngOnInit');
}
ngOnDestroy() {
console.log(' ECMExploreComponent ngOnDestroy');
}
}
<ecm-header> </ecm-header>
<ecm-content *ngIf="clientWidth > 750"> </ecm-content>
<ecm-footer *ngIf="clientWidth > 750"> </ecm-footer>
\ No newline at end of file
import { Component, OnInit, OnDestroy, AfterViewChecked } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { JwtHelper } from 'angular2-jwt';
import { RESIZE_EVENT } from '../ecm-store/ecm-resize';
@Component({
selector: 'ecm-home',
templateUrl: './ecm-home.component.html',
styleUrls: ['./ecm-home.component.css']
})
export class ECMHomeComponent implements OnInit, OnDestroy, AfterViewChecked {
jwtHelper: JwtHelper = new JwtHelper();
clientWidth;
constructor(private router: Router, private route: ActivatedRoute) { }
ngOnInit() {
console.log(' ECMHomeComponent ngOnInit');
let appstateCahce: string = localStorage.getItem('appstate') ? localStorage.getItem('appstate') : 'no-appstate';
console.log(' ECMHomeComponent appstateCahce[' + appstateCahce + ']');
if( appstateCahce !== 'undefined' && appstateCahce !== 'no-appstate' ){
this.goToLink(appstateCahce);
}
this.clientWidth = document.documentElement.clientWidth;
RESIZE_EVENT.subscribe(data => {
this.clientWidth = data;
});
}
ngAfterViewChecked() {
let appstateCahce: string = localStorage.getItem('appstate') ? localStorage.getItem('appstate') : 'no-appstate';
/*
if ( appstateCahce === 'no-appstate' ) {
window.scrollBy(0, 1);
} else */if ( appstateCahce !== 'undefined' && appstateCahce !== 'no-appstate' ) {
this.goToLink(appstateCahce);
localStorage.setItem('appstate', 'undefined');
}
}
goToHome() {
this.router.navigate([]);
}
goToLink( appstate: string ) {
this.router.navigate(['/link', appstate]);
}
ngOnDestroy() {
console.log(' ECMHomeComponent ngOnDestroy');
}
}
.ecm-image {
border-top-right-radius: 5px;
border-top-left-radius: 5px;
width: 100%;
height: calc( 100% - 70px);
text-align: center;
}
.ecm-image:before {
content: ' ';
display: inline-block;
vertical-align: middle;
height: 100%;
}
.ecm-card > ecm-image > .ecm-image > img
{
/* height: 330px; */
height: 230px;
}
.carousel-cell .ecm-card > ecm-image > .ecm-image,
.products-section .ecm-card > ecm-image > .ecm-image {
height: 100%;
}
.categories-section .ecm-card > ecm-image > .ecm-image > img,
.subcategories-section .ecm-card > ecm-image > .ecm-image > img,
.carousel-cell .ecm-card > ecm-image > .ecm-image > img,
.products-section .ecm-card > ecm-image > .ecm-image > img
{
height: 100%;
width: 100%;
border-top-right-radius: 5px;
border-top-left-radius: 5px;
}
.ecm-image-icon {
float: left;
/*background-color: mediumvioletred;*/
border: none;
border-radius: 100%;
height: 47px;
width: 51px;
}
.ecm-small-image-icon {
float: left;
/*background-color: mediumvioletred;*/
border: none;
border-radius: 100%;
height: 38px;
width: 42px;
}
.img-loading {
width: 20px;
height: 20px;
border-radius: 50%;
background: #ddd;
box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ccc;
position: absolute;
top: 45%;
left: 55%;
margin: -25px 0 0 -25px;
-webkit-animation: loader 0.5s infinite ease-in-out both;
-moz-animation: loader 0.5s infinite ease-in-out both;
animation: loader 0.5s infinite ease-in-out both;
}
@-webkit-keyframes loader {
0% { background: #ddd; }
33% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
66% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; }
}
@-moz-keyframes loader {
0% { background: #ddd; }
33% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
66% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; }
}
@keyframes loader {
0% { background: #ddd; }
33% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
66% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; }
}
.img-mask {
width: 100%;
height: 100%;
position: absolute;
}
.img-mask-icon {
height: 47px;
width: 51px;
}
/* ContentPlugin - External Component CSS*/
.contentPopupTitle{
color: mediumvioletred;
}
.galaxyButton {
cursor: pointer;
background: mediumvioletred;
border-radius: 2px;
margin: 5px 0 5px 0;
padding: 5px 20px 5px 20px;
color: #fff;
}
.close-button {
right: 0 !important;
position: absolute !important;
display: inline-block !important;
width: 24px !important;
height: 24px !important;
margin: 15px !important;
background-color: transparent !important;
border: none !important;
cursor: pointer !important;
border-radius: 100% !important;
transition: 0.6s !important;
-webkit-transition: 0.6s !important;
z-index: 4 !important;
box-shadow: none !important;
left: auto !important;
}
.close-button:hover {
box-shadow: 0 0 0 8px rgba(0, 0, 0, 0.1), inset 0 0 0 20px
rgba(0, 0, 0, 0.1);
color: transparent;
}
.close-button:before, .close-button:after {
position: absolute;
content: '';
top: 50%;
left: 0;
width: 100%;
height: 2px;
background-color: #EC7263;
background-color: mediumvioletred;
border-radius: 5px;
transition: 0.5s;
}
.close-button:before {
transform: translateY(-50%) rotate(45deg) scale(1);
}
.close-button:after {
transform: translateY(-50%) rotate(-45deg) scale(1);
}
.attachedFile {
border: none !important;
height: auto !important;
}
.thumbnailView {
height: calc( 100% - 90px) !important;
display: block !important;
top: 0 !important;
left: 0 !important;
}
<div *ngIf=" isThumbnail " class="img-mask" [ngClass]="attachType == 'Icon' ? 'img-mask-icon' : ''"> </div>
<div *ngIf="!attachType" class="img-loading" #loadingImage></div>
<div *ngIf="!attachType" class="ecm-image" #targetAttachImage></div>
<!-- <img *ngIf="attachType == 'Image'" class="ecm-image" #targetImage /> -->
<!-- <img *ngIf="attachType == 'Icon'" [ngClass]="isSmallIcon ? 'ecm-small-image-icon' : 'ecm-image-icon'" #targetImage /> -->
<div *ngIf=" attachType == 'Image' " class="ecm-image" #targetAttachImage></div>
<div *ngIf=" attachType == 'Icon' " [ngClass]="isSmallIcon ? 'ecm-small-image-icon' : 'ecm-image-icon'" #targetAttachImage></div>
\ No newline at end of file
import { Component, OnInit, AfterViewChecked, Input, ViewChild, ElementRef, ViewEncapsulation } from '@angular/core';
declare var getAttachmentsPlugin: any;
declare var getImagePlugin: any;
@Component({
selector: 'ecm-image',
templateUrl: './ecm-image.component.html',
styleUrls: ['./ecm-image.component.css'],
encapsulation: ViewEncapsulation.None
})
export class EcmImageComponent implements OnInit, AfterViewChecked {
@Input() refId: string;
@Input() refSer: string;
@Input() object: string;
@Input() attachType: string;
@Input() isSingleImage: any;
@Input() height: string;
@Input() width: any;
@Input() isThumbnail: boolean = false;
@Input() isSmallIcon: boolean = false;
@ViewChild( 'targetAttachImage' ) targetDiv: ElementRef;
@ViewChild( 'targetImage' ) targetImg: ElementRef;
@ViewChild( 'loadingImage' ) loadingDiv: ElementRef;
imageUrl : any;
attchPluginViewUI: any;
constructor() { }
ngOnInit()
{
if( this.attachType )
{
//this.initImage(this.object,this.refSer, this.refId, this.attachType);
}
else
{
////this.initAttachImage(this.object,this.refSer, this.refId, 'V', this.isSingleImage, this.height, this.width);
//this.initSingleImage(this.object,this.refSer, this.refId);
this.attachType = "";
}
this.initSingleImage(this.object,this.refSer, this.refId);
}
//192.168.0.222:9090/ibase/rest/E12ExtService/getAttachDocument?
//OBJ_NAME=objName&
//REF_SER=refSer&
//REF_ID=refId&
//DOC_TYPE=attachType&
//TOKEN_ID=localStorage.getItem('TOKEN_ID')&
//DATA_FORMAT=JSON
initImage(objName:string, refSer:string, refId:string, attachType:string)
{
this.imageUrl = "?OBJ_NAME=" + objName + "&REF_SER=" + refSer + "&REF_ID=" + refId +
"&DOC_TYPE=" + attachType + "&TOKEN_ID=" + localStorage.getItem('TOKEN_ID') + "&DATA_FORMAT=JSON" +
"&TEST=ON";
console.log("initImage calling /ibase/rest/E12ExtService/getAttachDocument ");
console.log("created imageUrl " + this.imageUrl);
}
/*
initAttachImage(objName:string, refSer:string, refId:string, uiMode:string, isSingleImage:any, height:string, width:string)
{
console.log("loadImage check window.getAttachmentsPlugin ");
if (! getAttachmentsPlugin ){
console.log("window.getAttachmentsPlugin is null" );
return;
}
// Get the target element in which you want to add AttachmentsPlugin.
console.log("loadImage after check window.getAttachmentsPlugin ");
this.attchPluginViewUI = getAttachmentsPlugin({
OBJ_NAME : objName,
REF_SER : refSer,
REF_ID : refId,//ITEM_CODE
// host url can be empty in browser
// for mobile devices it has be specified correctly
HOST_URL : "",
DOC_TYPE : "",
// A - For gettig add ui (user can add new attachments and view attached files)
// E - For getting edit ui (user can view attachments, add new attachments as well as delete attachments)
// V - For getting view ui (user can only view attachments)
UI : uiMode,
// The thumbnail height and width
THUMBNAIL_WIDTH : width ? width : '100%',
THUMBNAIL_HEIGHT : height ? height : '100%',
// Maximum width of attachment plugin, can be specified in pixels
MAX_WIDTH : "100%",
// true for browser, false for mobile.
IS_HOSTED_MODE : true || false,
ENABLE_SINGLE_IMAGE : isSingleImage
});
//console.log("created attchPluginViewUI " + this.attchPluginViewUI);
//this.nodeToString( this.attchPluginViewUI );
if (this.targetDiv && this.attchPluginViewUI)
{
this.targetDiv.nativeElement.innerHTML = "";
}
}
*/
initSingleImage(objName:string, refSer:string, refId:string)
{
console.log("initSingleImage check window.getImagePlugin ");
if (! getImagePlugin ){
console.log("window.getImagePlugin is null" );
return;
}
// Get the target element in which you want to add AttachmentsPlugin.
console.log("loadImage after check window.getImagePlugin ");
getImagePlugin({
OBJ_NAME : objName,
REF_SER : refSer,
REF_ID : refId,//ITEM_CODE
HOST_URL : "",
DOC_TYPE : this.attachType,
IS_HOSTED_MODE : true || false,
ENABLE_SINGLE_IMAGE : true
}, this, 'imageCallback');
}
imageCallback(imgData:any) {
console.log("imageCallback imgData>>" + imgData);
if( imgData && imgData[0]) {
this.targetDiv.nativeElement.appendChild( imgData[0] );
this.loadingDiv.nativeElement.style.display = 'none';
}
}
ngAfterViewChecked()
{
//console.log("EcmImageComponent ngAfterViewChecked... ");
if( this.targetDiv && this.attchPluginViewUI && this.attchPluginViewUI.innerHTML !== "" && this.targetDiv.nativeElement.innerHTML === "" )
{
console.log("EcmImageComponent ngAfterViewChecked... ");
this.targetDiv.nativeElement.appendChild(this.attchPluginViewUI);
this.loadingDiv.nativeElement.style.display = 'none';
}
if (this.targetImg && this.imageUrl)
{
console.log("this.targetImg ngAfterViewChecked... " + this.targetImg.nativeElement);
this.targetImg.nativeElement.src = "/ibase/rest/E12ExtService/getAttachDocument" + this.imageUrl;
//this.targetImg.nativeElement.onerror ="this.src = '/ecm/assets/images/svg/img_not_found.svg'; this.onerror = null;";
this.targetImg.nativeElement.onerror = this.onEcmImageError;
this.imageUrl = null;
}
}
onEcmImageError( elem ){
console.log( "onEcmImageError", this );
console.log( "onEcmImageError", elem );
}
}
/**
* Card Model
*/
export class ECMCard {
constructor(
public img: string,
public info_img: string,
public info_title: string,
public info_subhead: string,
public info_link: any) {
}
}
export class ECMCart {
public itemCode:string = '';
public quantity:number = 0;
public itemCost:number = 0;
}
\ No newline at end of file
/**
* Category Model
* {catCode, curRank, descr, shDescr, ecmTemplate}
*/
export class Category {
constructor(
public catCode: string = '',
public descr: string = '',
public shDescr: string = '',
public curRank: string = '',
public catLink: string = '',
public ecmTemplate: string = '') {
console.log('comp this.ecmTemplate[' + this.ecmTemplate + ']');
}
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment