Best JavaScript code snippet using playwright-internal
serveccda.js
Source: serveccda.js
1/**2 * @package OpenEMR CCDAServer3 * @link http://www.open-emr.org4 *5 * @author Jerry Padgett <sjpadgett@gmail.com>6 * @copyright Copyright (c) 2016-2020 Jerry Padgett <sjpadgett@gmail.com>7 * @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 38 */9"use strict";10var net = require('net');11var to_json = require('xmljson').to_json;12var bbg = require('oe-blue-button-generate');13//var bbm = require('blue-button-model'); //for use set global-not needed here14//var fs = require('fs');15//var bb = require('blue-button');16var fs = require('fs');17var server = net.createServer();18var conn = ''; // make our connection scope global to script19var oidFacility = "";20var all = "";21var npiProvider = "";22var npiFacility = "";23// some useful routines for populating template sections24function validate(toValidate, ref, retObj) {25 for (var p in ref) {26 if (typeof ref[p].dataType === "undefined") {27 retObj[p] = {};28 if (!toValidate[p]) toValidate[p] = {};29 validate(toValidate[p], ref[p], retObj[p]);30 } else {31 if (typeof toValidate === "undefined") toValidate = {};32 var trimmed = trim(toValidate[p]);33 retObj[p] = typeEnforcer(ref[p].dataType, trimmed);34 }35 }36 return retObj;37}38function typeEnforcer(type, val) {39 var validVal;40 switch (type) {41 case "boolean":42 if (typeof val === "string") {43 validVal = val.toLowerCase() === "true";44 } else {45 validVal = !!val;46 }47 break;48 case "string":49 if ((val === null) || (val === "undefined") || (typeof val === "undefined")) {50 validVal = '';51 } else if (typeof val == "object") {52 validVal = '';53 } else {54 validVal = trim(String(val));55 }56 break;57 case "array":58 if (typeof val === 'undefined' || val === null) {59 validVal = [];60 } else if (Array.isArray(val)) {61 validVal = [];62 val.forEach(function (v) {63 validVal.push(trim(v));64 });65 } else {66 validVal = [trim(val)];67 }68 break;69 case "integer":70 var asInt = parseInt(val, 10);71 if (isNaN(asInt)) asInt = 0;72 validVal = asInt;73 break;74 case "number":75 var asNum = parseFloat(val);76 if (isNaN(asNum)) asNum = 0;77 validVal = asNum;78 break;79 }80 return validVal;81}82function trim(s) {83 if (typeof s === 'string') return s.trim();84 return s;85}86function safeId(s) {87 return trim(s).toLowerCase().replace(/[^a-zA-Z0-9]+/g, '-').replace(/\-+$/, '');88}89function fDate(str) {90 str = String(str); // at least ensure string so cast it...91 if (Number(str) === 0) {92 return (new Date()).toISOString().slice(0,10).replace(/-/g,"");93 }94 if (str.length === 8 || (str.length === 14 && (1 * str.substring(12, 14)) === 0)) {95 return [str.slice(0, 4), str.slice(4, 6), str.slice(6, 8)].join('-')96 } else if (str.length === 10 && (1 * str.substring(0, 2)) <= 12) {97 // case mm/dd/yyyy or mm-dd-yyyy98 return [str.slice(6, 10), str.slice(0, 2), str.slice(3, 5)].join('-')99 } else if (str.length === 14 && (1 * str.substring(12, 14)) > 0) {100 // maybe a real time so parse101 }102 return str;103}104function getPrecision(str) {105 str = String(str);106 let pflg = "day";107 if (Number(str) === 0) {108 return "day";109 }110 if (str.length > 8) {111 pflg = "minute";112 }113 if (str.length > 12) {114 pflg = "second";115 }116 return pflg;117}118function templateDate(date, precision) {119 return [{'date': fDate(date), 'precision': precision}]120}121function cleanCode(code) {122 return code.replace(/[.#]/, "");123}124function isOne(who) {125 try {126 if (who !== null && typeof who === 'object') {127 return who.hasOwnProperty('extension') || who.hasOwnProperty('id') ? 1 : Object.keys(who).length;128 }129 }130 catch (e) {131 return false;132 }133 return 0;134}135function headReplace(content) {136 var r = '<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xmlns:voc="urn:hl7-org:v3/voc" xmlns:sdtc="urn:hl7-org:sdtc">\n';137 r += content.substr(content.search(/<realmCode/i));138 return r;139}140// Data model for Blue Button141function populateDemographic(pd, g) {142 let guardian = [{143 "relation": g.relation,144 "addresses": [{145 "street_lines": [g.address],146 "city": g.city,147 "state": g.state,148 "zip": g.postalCode,149 "country": g.country,150 "use": "primary home"151 }],152 "names": [{153 "last": g.display_name, //@todo parse first/last154 "first": g.display_name155 }],156 "phone": [{157 "number": g.telecom,158 "type": "primary home"159 }]160 }];161 return {162 "name": {163 "middle": [pd.mname],164 "last": pd.lname,165 "first": pd.fname166 },167 "dob": {168 "point": {169 "date": fDate(pd.dob),170 "precision": "day"171 }172 },173 "gender": pd.gender.toUpperCase(),174 "identifiers": [{175 "identifier": oidFacility,176 "extension": "PT-" + pd.id177 }],178 "marital_status": pd.status.toUpperCase() || "U",179 "addresses": [{180 "street_lines": [pd.street],181 "city": pd.city,182 "state": pd.state,183 "zip": pd.postalCode,184 "country": pd.country,185 "use": "primary home"186 }],187 "phone": [{188 "number": pd.phone_home,189 "type": "primary home"190 }],191 "race": pd.race,192 "ethnicity": pd.ethnicity || "U",193 "languages": [{194 "language": pd.language,195 "preferred": true,196 "mode": "Expressed spoken",197 "proficiency": "Good"198 }],199 "religion": pd.religion.toUpperCase() || "",200 /*"birthplace":'', {201 "city": "",202 "state": "",203 "zip": "",204 "country": ""205 },*/206 "attributed_provider": {207 "identity": [208 {209 "root": "2.16.840.1.113883.4.6",210 "extension": npiFacility || "UNK"211 }212 ],213 "phone": [{214 "number": all.encounter_provider.facility_phone || "",215 }],216 "name": [217 {218 "full": all.encounter_provider.facility_name || ""219 }220 ]221 },222 "guardians": g.display_name ? guardian : ''223 }224}225function populateProviders() {226 return {227 "providers": [228 {229 "identity": [230 {231 "root": "2.16.840.1.113883.4.6",232 "extension": all.primary_care_provider.provider[0].npi || "UNK"233 }234 ],235 "type": [236 {237 "name": all.primary_care_provider.provider[0].physician_type || "Not Avail",238 "code": all.primary_care_provider.provider[0].physician_type_code || "",239 "code_system_name": "Provider Codes"240 }241 ],242 "name": [243 {244 "last": all.primary_care_provider.provider[0].lname || "",245 "first": all.primary_care_provider.provider[0].fname || ""246 }247 ],248 "address": [249 {250 "street_lines": [251 all.encounter_provider.facility_street252 ],253 "city": all.encounter_provider.facility_city,254 "state": all.encounter_provider.facility_state,255 "zip": all.encounter_provider.facility_postal_code,256 "country": all.encounter_provider.facility_country_code257 }258 ],259 "phone": [260 {261 "value": {262 "number": all.encounter_provider.facility_phone || "",263 }264 }],265 "organization": [266 {267 "identifiers": [268 {269 "identifier": "2.16.840.1.113883.19.5.9999.1393" //@todo need facility oid270 }271 ],272 "name": [273 all.encounter_provider.facility_name274 ],275 "address": [276 {277 "street_lines": [278 all.encounter_provider.facility_street279 ],280 "city": all.encounter_provider.facility_city,281 "state": all.encounter_provider.facility_state,282 "zip": all.encounter_provider.facility_postal_code,283 "country": all.encounter_provider.facility_country_code284 }285 ],286 "phone": [287 {288 "number": all.encounter_provider.facility_phone,289 "type": "primary work"290 }291 ]292 }293 ]294 }295 ]296 }297}298function populateMedication(pd) {299 pd.status = 'Completed'; //@todo invoke prescribed300 return {301 "date_time": {302 "low": {303 "date": fDate(pd.start_date),304 "precision": "day"305 },306 /*"high": {307 "date": pd.end_date ? fDate(pd.end_date) : "",308 "precision": "day"309 }*/310 },311 "identifiers": [{312 "identifier": pd.sha_extension,313 "extension": pd.extension || "UNK"314 }],315 "status": pd.status,316 "sig": pd.direction,317 "product": {318 "identifiers": [{319 "identifier": "2a620155-9d11-439e-92b3-5d9815ff4ee8",320 "extension": "UNK"321 }],322 "unencoded_name": pd.drug,323 "product": {324 "name": pd.drug,325 "code": pd.rxnorm,326 /*"translations": [{327 "name": pd.drug,328 "code": pd.rxnorm,329 "code_system_name": "RXNORM"330 }],*/331 "code_system_name": "RXNORM"332 },333 //"manufacturer": ""334 },335 "supply": {336 "date_time": {337 "low": {338 "date": fDate(pd.start_date),339 "precision": "day"340 }341 },342 "repeatNumber": "0",343 "quantity": "0",344 "author": {345 "date_time": {346 "point": {347 "date": fDate(pd.start_date),348 "precision": getPrecision(fDate(pd.start_date))349 }350 },351 "identifiers": [{352 "identifier": "2.16.840.1.113883.4.6",353 "extension": pd.npi || "UNK"354 }],355 "name": {356 "prefix": pd.title,357 "last": pd.lname,358 "first": pd.fname359 }360 },361 "instructions": {362 "code": {363 "name": "instruction",364 "code": "409073007",365 "code_system_name": "SNOMED CT"366 },367 "free_text": pd.instructions || "None Available"368 },369 },370 "administration": {371 "route": {372 "name": pd.route || "",373 "code": pd.route_code || "",374 "code_system_name": "Medication Route FDA"375 },376 "form": {377 "name": pd.form,378 "code": pd.form_code,379 "code_system_name": "Medication Route FDA"380 },381 "dose": {382 "value": parseFloat(pd.size),383 "unit": pd.unit,384 },385 /*"rate": {386 "value": parseFloat(pd.dosage),387 "unit": ""388 },*/389 "interval": {390 "period": {391 "value": parseFloat(pd.dosage),392 "unit": pd.interval393 },394 "frequency": true395 }396 },397 "performer": {398 "identifiers": [{399 "identifier": "2.16.840.1.113883.4.6",400 "extension": pd.npi || "UNK"401 }],402 "organization": [{403 "identifiers": [{404 "identifier": pd.sha_extension,405 "extension": pd.extension || "UNK"406 }],407 "name": [pd.performer_name]408 }]409 },410 "drug_vehicle": {411 "name": pd.form,412 "code": pd.form_code,413 "code_system_name": "RXNORM"414 },415 /*"precondition": {416 "code": {417 "code": "ASSERTION",418 "code_system_name": "ActCode"419 },420 "value": {421 "name": "none",422 "code": "none",423 "code_system_name": "SNOMED CT"424 }425 },426 "indication": {427 "identifiers": [{428 "identifier": "db734647-fc99-424c-a864-7e3cda82e703",429 "extension": "45665"430 }],431 "code": {432 "name": "Finding",433 "code": "404684003",434 "code_system_name": "SNOMED CT"435 },436 "date_time": {437 "low": {438 "date": fDate(pd.start_date),439 "precision": "day"440 }441 },442 "value": {443 "name": pd.indications,444 "code": pd.indications_code,445 "code_system_name": "SNOMED CT"446 }447 },*/448 /*"dispense": {449 "identifiers": [{450 "identifier": "1.2.3.4.56789.1",451 "extension": "cb734647-fc99-424c-a864-7e3cda82e704"452 }],453 "performer": {454 "identifiers": [{455 "identifier": "2.16.840.1.113883.19.5.9999.456",456 "extension": "2981823"457 }],458 "address": [{459 "street_lines": [pd.address],460 "city": pd.city,461 "state": pd.state,462 "zip": pd.zip,463 "country": "US"464 }],465 "organization": [{466 "identifiers": [{467 "identifier": "2.16.840.1.113883.19.5.9999.1393"468 }],469 "name": [pd.performer_name]470 }]471 },472 "product": {473 "identifiers": [{474 "identifier": "2a620155-9d11-439e-92b3-5d9815ff4ee8"475 }],476 "unencoded_name": pd.drug,477 "product": {478 "name": pd.drug,479 "code": pd.rxnorm,480 "translations": [{481 "name": pd.drug,482 "code": pd.rxnorm,483 "code_system_name": "RXNORM"484 }],485 "code_system_name": "RXNORM"486 },487 "manufacturer": ""488 }489 }*/490 };491}492function populateEncounter(pd) {493 return {494 "encounter": {495 "name": pd.visit_category ? pd.visit_category : 'UNK',496 "code": "185347001",497 "code_system": "2.16.840.1.113883.6.96",498 "code_system_name": "SNOMED CT",499 "translations": [{500 "name": "Ambulatory",501 "code": "AMB",502 "code_system_name": "ActCode"503 }]504 },505 "identifiers": [{506 "identifier": pd.sha_extension,507 "extension": pd.extension508 }],509 "date_time": {510 "point": {511 "date": fDate(pd.date),512 "precision": "second" //getPrecision(fDate(pd.date_formatted))513 }514 },515 "performers": [{516 "identifiers": [{517 "identifier": "2.16.840.1.113883.4.6",518 "extension": pd.npi || "UNK"519 }],520 "code": [{521 "name": pd.physician_type,522 "code": pd.physician_type_code,523 "code_system_name": "SNOMED CT"524 }],525 "name": [526 {527 "last": pd.lname || "UNK",528 "first": pd.fname || "UNK"529 }530 ],531 "phone": [532 {533 "number": pd.work_phone,534 "type": "work place"535 }536 ]537 }],538 "locations": [{539 "name": pd.location,540 "location_type": {541 "name": pd.location_details,542 "code": "1160-1",543 "code_system_name": "HealthcareServiceLocation"544 },545 "address": [{546 "street_lines": [pd.facility_address],547 "city": pd.facility_city,548 "state": pd.facility_state,549 "zip": pd.facility_zip,550 "country": pd.facility_country551 }]552 }],553 "findings": [{554 "identifiers": [{555 "identifier": pd.sha_extension,556 "extension": pd.extension557 }],558 "value": {559 "name": pd.encounter_reason,560 "code": "",561 "code_system_name": "SNOMED CT"562 },563 "date_time": {564 "low": {565 "date": fDate(pd.date),566 "precision": "day"567 }568 }569 }]570 };571}572function populateAllergy(pd) {573 return {574 "identifiers": [{575 "identifier": "36e3e930-7b14-11db-9fe1-0800200c9a66",576 "extension": pd.id || "UNK"577 }],578 "date_time": {579 "point": {580 "date": fDate(pd.startdate),581 "precision": "day"582 }583 },584 "observation": {585 "identifiers": [{586 "identifier": "4adc1020-7b14-11db-9fe1-0800200c9a66",587 "extension": pd.extension || "UNK"588 }],589 "allergen": {590 "name": pd.title,591 "code": pd.rxnorm_code === 0 ? "" : pd.rxnorm_code,592 "code_system_name": "RXNORM"593 },594 "intolerance": {595 "name": "Propensity to adverse reactions to drug",596 "code": pd.snomed_code || "420134006",597 "code_system_name": "SNOMED CT"598 },599 "date_time": {600 "low": {601 "date": fDate(pd.startdate),602 "precision": "day"603 }604 },605 "status": {606 "name": pd.allergy_status,607 "code": pd.status_code === 0 ? "" : pd.status_code,608 "code_system_name": "SNOMED CT"609 },610 "reactions": [{611 "identifiers": [{612 "identifier": "4adc1020-7b14-11db-9fe1-0800200c9a64"613 }],614 "date_time": {615 "low": templateDate(pd.startdate, "day"),616 "high": templateDate(pd.enddate, "day")617 },618 "reaction": {619 "name": pd.reaction_text,620 "code": pd.reaction_code === 0 ? "" : pd.reaction_code,621 "code_system_name": "SNOMED CT"622 },623 "severity": {624 "code": {625 "name": pd.outcome,626 "code": pd.outcome_code === 0 ? "" : pd.outcome_code,627 "code_system_name": "SNOMED CT"628 },629 /*"interpretation": {630 "name": "",631 "code": "",632 "code_system_name": "Observation Interpretation"633 }*/634 }635 }],636 "severity": {637 "code": {638 "name": pd.outcome,639 "code": pd.outcome_code === 0 ? "" : pd.outcome_code,640 "code_system_name": "SNOMED CT"641 },642 /*"interpretation": {643 "name": "UNK",644 "code": "",645 "code_system_name": "Observation Interpretation"646 }*/647 }648 }649 };650}651function populateProblem(pd) {652 return {653 "date_time": {654 "low": {655 "date": fDate(pd.start_date_table),656 "precision": "day"657 },658 /*"high": {659 "date": fDate(pd.end_date),660 "precision": "day"661 }*/662 },663 "identifiers": [{664 "identifier": pd.sha_extension,665 "extension": pd.extension || "UNK"666 }],667 "problem": {668 "code": {669 "name": trim(pd.title),670 "code": cleanCode(pd.code),671 "code_system": "2.16.840.1.113883.6.90",672 "code_system_name": "ICD10"673 },674 "date_time": {675 "low": {676 "date": fDate(pd.start_date),677 "precision": "day"678 },679 /*"high": {680 "date": fDate(pd.end_date),681 "precision": getPrecision()682 }*/683 }684 },685 "performer": [686 {687 "identifiers": [688 {689 "identifier": "2.16.840.1.113883.4.6",690 "extension": all.primary_care_provider.provider[0].npi || "UNK"691 }692 ],693 "name": [694 {695 "last": all.primary_care_provider.provider[0].lname || "",696 "first": all.primary_care_provider.provider[0].fname || ""697 }698 ]699 }],700 "onset_age": pd.age,701 "onset_age_unit": "Year",702 "status": {703 "name": pd.status_table,704 "date_time": {705 "low": {706 "date": fDate(pd.start_date),707 "precision": "day"708 },709 /*"high": {710 "date": fDate(pd.end_date),711 "precision": getPrecision()712 }*/713 }714 },715 "patient_status": pd.observation,716 "source_list_identifiers": [{717 "identifier": pd.sha_extension,718 "extension": pd.extension || "UNK"719 }]720 };721}722function populateProcedure(pd) {723 return {724 "procedure": {725 "name": pd.description,726 "code": pd.code,727 "code_system": "2.16.840.1.113883.6.12",728 "code_system_name": "CPT4"729 },730 "identifiers": [{731 "identifier": "d68b7e32-7810-4f5b-9cc2-acd54b0fd85d",732 "extension": pd.extension733 }],734 "status": "completed",735 "date_time": {736 "point": {737 "date": fDate(pd.date),738 "precision": "day"739 }740 },741 /*"body_sites": [{742 "name": "",743 "code": "",744 "code_system_name": ""745 }],746 "specimen": {747 "identifiers": [{748 "identifier": "c2ee9ee9-ae31-4628-a919-fec1cbb58683"749 }],750 "code": {751 "name": "",752 "code": "",753 "code_system_name": "SNOMED CT"754 }755 },*/756 "performers": [{757 "identifiers": [{758 "identifier": "2.16.840.1.113883.4.6",759 "extension": pd.npi || "UNK"760 }],761 "address": [{762 "street_lines": [pd.address],763 "city": pd.city,764 "state": pd.state,765 "zip": pd.zip,766 "country": ""767 }],768 "phone": [{769 "number": pd.work_phone,770 "type": "work place"771 }],772 "organization": [{773 "identifiers": [{774 "identifier": pd.facility_sha_extension,775 "extension": pd.facility_extension776 }],777 "name": [pd.facility_name],778 "address": [{779 "street_lines": [pd.facility_address],780 "city": pd.facility_city,781 "state": pd.facility_state,782 "zip": pd.facility_zip,783 "country": pd.facility_country784 }],785 "phone": [{786 "number": pd.facility_phone,787 "type": "work place"788 }]789 }]790 }],791 "procedure_type": "procedure"792 };793}794function populateResult(pd) {795 let icode = pd.subtest.abnormal_flag;796 switch (pd.subtest.abnormal_flag.toUpperCase()) {797 case "NO":798 icode = "Normal";799 break;800 case "YES":801 icode = "Abnormal";802 break;803 case "":804 icode = "UNK";805 break;806 }807 return {808 "identifiers": [{809 "identifier": pd.subtest.root,810 "extension": pd.subtest.extension811 }],812 "result": {813 "name": pd.title,814 "code": pd.subtest.result_code || "",815 "code_system_name": "LOINC"816 },817 "date_time": {818 "point": {819 "date": fDate(pd.date_ordered),820 "precision": "day"821 }822 },823 "status": pd.order_status,824 "reference_range": {825 "range": pd.subtest.range //OpenEMR doesn't have high/low so show range as text.826 },827 /*"reference_range": {828 "low": pd.subtest.range,829 "high": pd.subtest.range,830 "unit": pd.subtest.unit831 },*/832 "interpretations": [icode],833 "value": parseFloat(pd.subtest.result_value) || pd.subtest.result_value || "",834 "unit": pd.subtest.unit835 };836}837function getResultSet(results) {838 if (!results) return '';839 let tResult = results.result[0] || results.result;840 var resultSet = {841 "identifiers": [{842 "identifier": tResult.root,843 "extension": tResult.extension844 }],845 "author": [846 {847 "date_time": {848 "point": {849 "date": fDate(tResult.date_ordered),850 "precision": getPrecision(fDate(tResult.date_ordered))851 }852 },853 "identifiers": [854 {855 "identifier": "2.16.840.1.113883.4.6",856 "extension": all.primary_care_provider.provider.npi || "UNK"857 }858 ],859 "name": [860 {861 "last": all.primary_care_provider.provider.lname || "",862 "first": all.primary_care_provider.provider.fname || ""863 }864 ]865 }],866 "result_set": {867 "name": tResult.test_name,868 "code": tResult.test_code,869 "code_system_name": "LOINC"870 }871 };872 var rs = [];873 var many = [];874 var theone = {};875 var count = 0;876 many.results = [];877 try {878 count = isOne(results.result);879 } catch (e) {880 count = 0;881 }882 if (count > 1) {883 for (let i in results.result) {884 theone[i] = populateResult(results.result[i]);885 many.results.push(theone[i]);886 }887 } else if (count !== 0) {888 theone = populateResult(results.result);889 many.results.push(theone);890 }891 rs.results = Object.assign(resultSet);892 rs.results.results = Object.assign(many.results);893 return rs;894}895function getPlanOfCare(pd) {896 return {897 "plan": {898 "name": pd.code_text,899 "code": pd.code,900 "code_system_name": "SNOMED CT"901 },902 "identifiers": [{903 "identifier": "9a6d1bac-17d3-4195-89a4-1121bc809b4a"904 }],905 "date_time": {906 "center": {907 "date": fDate(pd.date),908 "precision": "day"909 }910 },911 "type": "observation",912 "status": {913 "code": pd.status914 },915 "subType": pd.description916 };917}918function populateVital(pd) {919 return [{920 "identifiers": [{921 "identifier": "2.16.840.1.113883.3.140.1.0.6.10.14.1",922 "extension": pd.extension_bps923 }],924 "vital": {925 "name": "Blood Pressure Systolic",926 "code": "8480-6",927 "code_system_name": "LOINC"928 },929 "status": "completed",930 "date_time": {931 "point": {932 "date": fDate(pd.effectivetime),933 "precision": getPrecision(fDate(pd.effectivetime))934 }935 },936 "value": parseFloat(pd.bps),937 "unit": "mm[Hg]"938 }, {939 "identifiers": [{940 "identifier": "2.16.840.1.113883.3.140.1.0.6.10.14.1",941 "extension": pd.extension_bpd942 }],943 "vital": {944 "name": "Blood Pressure Diastolic",945 "code": "8462-4",946 "code_system_name": "LOINC"947 },948 "status": "completed",949 "date_time": {950 "point": {951 "date": fDate(pd.effectivetime),952 "precision": getPrecision(fDate(pd.effectivetime))953 }954 },955 "interpretations": ["Normal"],956 "value": parseFloat(pd.bpd),957 "unit": "mm[Hg]"958 }, {959 "identifiers": [{960 "identifier": "2.16.840.1.113883.3.140.1.0.6.10.14.1",961 "extension": pd.extension_pulse962 }],963 "vital": {964 "name": "Heart Rate",965 "code": "8867-4",966 "code_system_name": "LOINC"967 },968 "status": "completed",969 "date_time": {970 "point": {971 "date": fDate(pd.effectivetime),972 "precision": getPrecision(fDate(pd.effectivetime))973 }974 },975 "interpretations": ["Normal"],976 "value": parseFloat(pd.pulse),977 "unit": "/min"978 }, {979 "identifiers": [{980 "identifier": "2.16.840.1.113883.3.140.1.0.6.10.14.1",981 "extension": pd.extension_breath982 }],983 "vital": {984 "name": "Respiratory Rate",985 "code": "9279-1",986 "code_system_name": "LOINC"987 },988 "status": "completed",989 "date_time": {990 "point": {991 "date": fDate(pd.effectivetime),992 "precision": getPrecision(fDate(pd.effectivetime))993 }994 },995 "interpretations": ["Normal"],996 "value": parseFloat(pd.breath),997 "unit": "/min"998 }, {999 "identifiers": [{1000 "identifier": "2.16.840.1.113883.3.140.1.0.6.10.14.1",1001 "extension": pd.extension_temperature1002 }],1003 "vital": {1004 "name": "Body Temperature",1005 "code": "8310-5",1006 "code_system_name": "LOINC"1007 },1008 "status": "completed",1009 "date_time": {1010 "point": {1011 "date": fDate(pd.effectivetime),1012 "precision": getPrecision(fDate(pd.effectivetime))1013 }1014 },1015 "interpretations": ["Normal"],1016 "value": parseFloat(pd.temperature),1017 "unit": "degF"1018 }, {1019 "identifiers": [{1020 "identifier": "2.16.840.1.113883.3.140.1.0.6.10.14.1",1021 "extension": pd.extension_height1022 }],1023 "vital": {1024 "name": "Height",1025 "code": "8302-2",1026 "code_system_name": "LOINC"1027 },1028 "status": "completed",1029 "date_time": {1030 "point": {1031 "date": fDate(pd.effectivetime),1032 "precision": getPrecision(fDate(pd.effectivetime))1033 }1034 },1035 "interpretations": ["Normal"],1036 "value": parseFloat(pd.height),1037 "unit": pd.unit_height1038 }, {1039 "identifiers": [{1040 "identifier": "2.16.840.1.113883.3.140.1.0.6.10.14.1",1041 "extension": pd.extension_weight1042 }],1043 "vital": {1044 "name": "Weight Measured",1045 "code": "3141-9",1046 "code_system_name": "LOINC"1047 },1048 "status": "completed",1049 "date_time": {1050 "point": {1051 "date": fDate(pd.effectivetime),1052 "precision": getPrecision(fDate(pd.effectivetime))1053 }1054 },1055 "interpretations": ["Normal"],1056 "value": parseFloat(pd.weight),1057 "unit": pd.unit_weight1058 }, {1059 "identifiers": [{1060 "identifier": "2.16.840.1.113883.3.140.1.0.6.10.14.1",1061 "extension": pd.extension_BMI1062 }],1063 "vital": {1064 "name": "BMI (Body Mass Index)",1065 "code": "39156-5",1066 "code_system_name": "LOINC"1067 },1068 "status": "completed",1069 "date_time": {1070 "point": {1071 "date": fDate(pd.effectivetime),1072 "precision": getPrecision(fDate(pd.effectivetime))1073 }1074 },1075 "interpretations": ["Normal"],1076 "value": parseFloat(pd.BMI),1077 "unit": "kg/m2"1078 }];1079}1080function populateSocialHistory(pd) {1081 return {1082 "date_time": {1083 "low": templateDate(pd.date, "day")1084 //"high": templateDate(pd.date, "day")1085 },1086 "identifiers": [{1087 "identifier": pd.sha_extension,1088 "extension": pd.extension1089 }],1090 "code": {1091 "name": pd.element1092 },1093 "value": pd.description1094 };1095}1096function populateImmunization(pd) {1097 return {1098 "date_time": {1099 "point": {1100 "date": fDate(pd.administered_on),1101 "precision": "month"1102 }1103 },1104 "identifiers": [{1105 "identifier": "e6f1ba43-c0ed-4b9b-9f12-f435d8ad8f92",1106 "extension": pd.extension || "UNK"1107 }],1108 "status": "complete",1109 "product": {1110 "product": {1111 "name": pd.code_text,1112 "code": pd.cvx_code,1113 "code_system_name": "CVX"1114 /*"translations": [{1115 "name": "",1116 "code": "",1117 "code_system_name": "CVX"1118 }]*/1119 },1120 "lot_number": "1",1121 "manufacturer": "UNK"1122 },1123 "administration": {1124 "route": {1125 "name": pd.route_of_administration,1126 "code": pd.route_code,1127 "code_system_name": "Medication Route FDA"1128 },1129 "dose": {1130 "value": 50,1131 "unit": "mcg"1132 }1133 },1134 "performer": {1135 "identifiers": [{1136 "identifier": "2.16.840.1.113883.4.6",1137 "extension": npiProvider1138 }],1139 "name": [{1140 "last": pd.lname,1141 "first": pd.fname1142 }],1143 "address": [{1144 "street_lines": [pd.address],1145 "city": pd.city,1146 "state": pd.state,1147 "zip": pd.zip,1148 "country": "US"1149 }],1150 "organization": [{1151 "identifiers": [{1152 "identifier": "2.16.840.1.113883.4.6",1153 "extension": npiFacility1154 }],1155 "name": [pd.facility_name]1156 }]1157 },1158 "instructions": {1159 "code": {1160 "name": "immunization education",1161 "code": "171044003",1162 "code_system_name": "SNOMED CT"1163 },1164 "free_text": "Needs Attention for more data."1165 }1166 };1167}1168function populatePayer(pd) {1169 return {1170 "identifiers": [{1171 "identifier": "1fe2cdd0-7aad-11db-9fe1-0800200c9a66"1172 }],1173 "policy": {1174 "identifiers": [{1175 "identifier": "3e676a50-7aac-11db-9fe1-0800200c9a66"1176 }],1177 "code": {1178 "code": "SELF",1179 "code_system_name": "HL7 RoleCode"1180 },1181 "insurance": {1182 "code": {1183 "code": "PAYOR",1184 "code_system_name": "HL7 RoleCode"1185 },1186 "performer": {1187 "identifiers": [{1188 "identifier": "2.16.840.1.113883.19"1189 }],1190 "address": [{1191 "street_lines": ["123 Insurance Road"],1192 "city": "Blue Bell",1193 "state": "MA",1194 "zip": "02368",1195 "country": "US",1196 "use": "work place"1197 }],1198 "phone": [{1199 "number": "(781)555-1515",1200 "type": "work place"1201 }],1202 "organization": [{1203 "name": ["Good Health Insurance"],1204 "address": [{1205 "street_lines": ["123 Insurance Road"],1206 "city": "Blue Bell",1207 "state": "MA",1208 "zip": "02368",1209 "country": "US",1210 "use": "work place"1211 }],1212 "phone": [{1213 "number": "(781)555-1515",1214 "type": "work place"1215 }]1216 }],1217 "code": [{1218 "code": "PAYOR",1219 "code_system_name": "HL7 RoleCode"1220 }]1221 }1222 }1223 },1224 "guarantor": {1225 "code": {1226 "code": "GUAR",1227 "code_system_name": "HL7 Role"1228 },1229 "identifiers": [{1230 "identifier": "329fcdf0-7ab3-11db-9fe1-0800200c9a66"1231 }],1232 "name": [{1233 "prefix": "Mr.",1234 "middle": ["Frankie"],1235 "last": "Everyman",1236 "first": "Adam"1237 }],1238 "address": [{1239 "street_lines": ["17 Daws Rd."],1240 "city": "Blue Bell",1241 "state": "MA",1242 "zip": "02368",1243 "country": "US",1244 "use": "primary home"1245 }],1246 "phone": [{1247 "number": "(781)555-1212",1248 "type": "primary home"1249 }]1250 },1251 "participant": {1252 "code": {1253 "name": "Self",1254 "code": "SELF",1255 "code_system_name": "HL7 Role"1256 },1257 "performer": {1258 "identifiers": [{1259 "identifier": "14d4a520-7aae-11db-9fe1-0800200c9a66",1260 "extension": "1138345"1261 }],1262 "address": [{1263 "street_lines": ["17 Daws Rd."],1264 "city": "Blue Bell",1265 "state": "MA",1266 "zip": "02368",1267 "country": "US",1268 "use": "primary home"1269 }],1270 "code": [{1271 "name": "Self",1272 "code": "SELF",1273 "code_system_name": "HL7 Role"1274 }]1275 },1276 "name": [{1277 "prefix": "Mr.",1278 "middle": ["A."],1279 "last": "Everyman",1280 "first": "Frank"1281 }]1282 },1283 "policy_holder": {1284 "performer": {1285 "identifiers": [{1286 "identifier": "2.16.840.1.113883.19",1287 "extension": "1138345"1288 }],1289 "address": [{1290 "street_lines": ["17 Daws Rd."],1291 "city": "Blue Bell",1292 "state": "MA",1293 "zip": "02368",1294 "country": "US",1295 "use": "primary home"1296 }]1297 }1298 },1299 "authorization": {1300 "identifiers": [{1301 "identifier": "f4dce790-8328-11db-9fe1-0800200c9a66"1302 }],1303 "procedure": {1304 "code": {1305 "name": "Colonoscopy",1306 "code": "73761001",1307 "code_system_name": "SNOMED CT"1308 }1309 }1310 }1311 };1312}1313function populateHeader(pd) {1314 var head = {1315 "identifiers": [1316 {1317 "identifier": oidFacility,1318 "extension": "TT988"1319 }1320 ],1321 "code": {1322 "name": "Continuity of Care Document",1323 "code": "34133-9",1324 "code_system_name": "LOINC"1325 },1326 "template": [1327 "2.16.840.1.113883.10.20.22.1.1",1328 "2.16.840.1.113883.10.20.22.1.2"1329 ],1330 "title": "Clinical Health Summary",1331 "date_time": {1332 "point": {1333 "date": fDate(pd.created_time) || "",1334 "precision": getPrecision(fDate(pd.created_time))1335 }1336 },1337 "author": {1338 "author": [1339 {1340 "identifiers": [1341 {1342 "identifier": "2.16.840.1.113883.4.6",1343 "extension": pd.author.npi || "UNK"1344 }1345 ],1346 "name": [1347 {1348 "last": pd.author.lname,1349 "first": pd.author.fname1350 }1351 ],1352 "address": [1353 {1354 "street_lines": [1355 pd.author.streetAddressLine1356 ],1357 "city": pd.author.city,1358 "state": pd.author.state,1359 "zip": pd.author.postalCode,1360 "country": pd.author.country1361 }1362 ],1363 "phone": [1364 {1365 "number": pd.author.telecom,1366 "use": "work place"1367 }1368 ],1369 "code": [1370 {1371 "name": "UNK",1372 "code": ""1373 }1374 ],1375 "organization": [1376 {1377 "identity": [1378 {1379 "root": "2.16.840.1.113883.4.6",1380 "extension": npiFacility || "UNK"1381 }1382 ],1383 "name": [1384 pd.encounter_provider.facility_name1385 ],1386 "address": [1387 {1388 "street_lines": [1389 pd.encounter_provider.facility_street1390 ],1391 "city": pd.encounter_provider.facility_city,1392 "state": pd.encounter_provider.facility_state,1393 "zip": pd.encounter_provider.facility_postal_code,1394 "country": pd.encounter_provider.facility_country_code1395 }1396 ],1397 "phone": [1398 {1399 "number": pd.encounter_provider.facility_phone,1400 "type": "work primary"1401 }1402 ]1403 }1404 ]1405 }1406 ]1407 },1408 "custodian": {1409 "identity": [1410 {1411 "root": "2.16.840.1.113883.4.6",1412 "extension": npiFacility || "UNK"1413 }1414 ],1415 "name": [1416 pd.encounter_provider.facility_name1417 ],1418 "address": [1419 {1420 "street_lines": [1421 pd.encounter_provider.facility_street1422 ],1423 "city": pd.encounter_provider.facility_city,1424 "state": pd.encounter_provider.facility_state,1425 "zip": pd.encounter_provider.facility_postal_code,1426 "country": pd.encounter_provider.facility_country_code1427 }1428 ],1429 "phone": [1430 {1431 "number": pd.encounter_provider.facility_phone,1432 "type": "work primary"1433 }1434 ]1435 },1436 /*"data_enterer": {1437 "identifiers": [1438 {1439 "identifier": "2.16.840.1.113883.4.6",1440 "extension": "999999943252"1441 }1442 ],1443 "name": [1444 {1445 "last": pd.data_enterer.lname,1446 "first": pd.data_enterer.fname1447 }1448 ],1449 "address": [1450 {1451 "street_lines": [1452 pd.data_enterer.streetAddressLine1453 ],1454 "city": pd.data_enterer.city,1455 "state": pd.data_enterer.state,1456 "zip": pd.data_enterer.postalCode,1457 "country": pd.data_enterer.country1458 }1459 ],1460 "phone": [1461 {1462 "number": pd.data_enterer.telecom,1463 "type": "work place"1464 }1465 ]1466 },1467 "informant": {1468 "identifiers": [1469 {1470 "identifier": "2.16.840.1.113883.19.5",1471 "extension": "KP00017"1472 }1473 ],1474 "name": [1475 {1476 "last": pd.informer.lname || "",1477 "first": pd.informer.fname || ""1478 }1479 ],1480 "address": [1481 {1482 "street_lines": [1483 pd.informer.streetAddressLine || ""1484 ],1485 "city": pd.informer.city,1486 "state": pd.informer.state,1487 "zip": pd.informer.postalCode,1488 "country": pd.informer.country1489 }1490 ],1491 "phone": [1492 {1493 "number": pd.informer.telecom || "",1494 "type": "work place"1495 }1496 ]1497 },*/1498 "service_event": { // @todo maybe move this to attributed or write z-schema template1499 "code": {1500 "name": "",1501 "code": "",1502 "code_system_name": "SNOMED CT"1503 },1504 "date_time": {1505 "low": {1506 "date": "",1507 "precision": getPrecision()1508 },1509 "high": {1510 "date": pd.created_time,1511 "precision": getPrecision()1512 }1513 },1514 "performer": [1515 {1516 "performer": [1517 {1518 "identifiers": [1519 {1520 "identifier": "2.16.840.1.113883.4.6",1521 "extension": "PseudoMD-1"1522 }1523 ],1524 "name": [1525 {1526 "last": pd.information_recipient.lname,1527 "first": pd.information_recipient.fname1528 }1529 ],1530 "address": [1531 {1532 "street_lines": [1533 pd.information_recipient.streetAddressLine1534 ],1535 "city": pd.information_recipient.city,1536 "state": pd.information_recipient.state,1537 "zip": pd.information_recipient.postalCode,1538 "country": pd.information_recipient.country1539 }1540 ],1541 "phone": [1542 {1543 "number": pd.information_recipient.telecom,1544 "type": "work place"1545 }1546 ],1547 "organization": [1548 {1549 "identifiers": [1550 {1551 "identifier": "2.16.840.1.113883.19.5.9999.1393"1552 }1553 ],1554 "name": [1555 pd.encounter_provider.facility_name1556 ],1557 "address": [1558 {1559 "street_lines": [1560 pd.encounter_provider.facility_street1561 ],1562 "city": pd.encounter_provider.facility_city,1563 "state": pd.encounter_provider.facility_state,1564 "zip": pd.encounter_provider.facility_postal_code,1565 "country": pd.encounter_provider.facility_country_code1566 }1567 ],1568 "phone": [1569 {1570 "number": pd.encounter_provider.facility_phone,1571 "type": "primary work"1572 }1573 ]1574 }1575 ],1576 "code": [1577 {1578 "name": "UNK",1579 "code": "",1580 "code_system_name": "Provider Codes"1581 }1582 ]1583 }1584 ],1585 "code": {1586 "name": "Primary Performer",1587 "code": "PP",1588 "code_system_name": "Provider Role"1589 }1590 }1591 ]1592 }1593 };1594 return head;1595}1596function getMeta(pd) {1597 var meta = {};1598 meta = {1599 "type": "CCDA",1600 "identifiers": [1601 {1602 "identifier": "2.16.840.1.113883.19.5.99999.1",1603 "extension": "TT988"1604 }1605 ],1606 "confidentiality": "Normal",1607 "set_id": {1608 "identifier": "2.16.840.1.113883.19.5.99999.19",1609 "extension": "sTT988"1610 }1611 }1612 return meta;1613}1614function genCcda(pd) {1615 var doc = {};1616 var data = {};1617 var count = 0;1618 var many = [];1619 var theone = {};1620 all = pd;1621 npiProvider = all.primary_care_provider.provider[0].npi;1622 oidFacility = all.encounter_provider.facility_oid;1623 npiFacility = all.encounter_provider.facility_npi;1624// Demographics1625 let demographic = populateDemographic(pd.patient, pd.guardian, pd);1626 Object.assign(demographic, populateProviders());1627 data.demographics = Object.assign(demographic);1628// vitals1629 many.vitals = [];1630 try {1631 count = isOne(pd.history_physical.vitals_list.vitals);1632 } catch (e) {1633 count = 01634 }1635 if (count > 1) {1636 for (let i in pd.history_physical.vitals_list.vitals) {1637 theone = populateVital(pd.history_physical.vitals_list.vitals[i]);1638 many.vitals.push.apply(many.vitals, theone);1639 }1640 } else if (count === 1) {1641 theone = populateVital(pd.history_physical.vitals_list.vitals);1642 many.vitals.push(theone);1643 }1644 data.vitals = Object.assign(many.vitals);1645// Medications1646 let meds = [];1647 let m = {};1648 meds.medications = [];1649 try {1650 count = isOne(pd.medications.medication);1651 } catch (e) {1652 count = 01653 }1654 if (count > 1) {1655 for (let i in pd.medications.medication) {1656 m[i] = populateMedication(pd.medications.medication[i]);1657 meds.medications.push(m[i]);1658 }1659 } else if (count !== 0) {1660 m = populateMedication(pd.medications.medication);1661 meds.medications.push(m);1662 }1663 data.medications = Object.assign(meds.medications);1664// Encounters1665 let encs = [];1666 let enc = {};1667 encs.encounters = [];1668 try {1669 count = isOne(pd.encounter_list.encounter);1670 } catch (e) {1671 count = 01672 }1673 if (count > 1) {1674 for (let i in pd.encounter_list.encounter) {1675 enc[i] = populateEncounter(pd.encounter_list.encounter[i]);1676 encs.encounters.push(enc[i]);1677 }1678 } else if (count !== 0) {1679 enc = populateEncounter(pd.encounter_list.encounter);1680 encs.encounters.push(enc);1681 }1682 data.encounters = Object.assign(encs.encounters);1683// Allergies1684 let allergies = [];1685 let allergy = {};1686 allergies.allergies = [];1687 try {1688 count = isOne(pd.allergies.allergy);1689 } catch (e) {1690 count = 01691 }1692 if (count > 1) {1693 for (let i in pd.allergies.allergy) {1694 allergy[i] = populateAllergy(pd.allergies.allergy[i]);1695 allergies.allergies.push(allergy[i]);1696 }1697 } else if (count !== 0) {1698 allergy = populateAllergy(pd.allergies.allergy);1699 allergies.allergies.push(allergy);1700 }1701 data.allergies = Object.assign(allergies.allergies);1702// Problems1703 let problems = [];1704 let problem = {};1705 problems.problems = [];1706 try {1707 count = isOne(pd.problem_lists.problem);1708 } catch (e) {1709 count = 01710 }1711 if (count > 1) {1712 for (let i in pd.problem_lists.problem) {1713 problem[i] = populateProblem(pd.problem_lists.problem[i], pd);1714 problems.problems.push(problem[i]);1715 }1716 } else if (count !== 0) {1717 problem = populateProblem(pd.problem_lists.problem);1718 problems.problems.push(problem);1719 }1720 data.problems = Object.assign(problems.problems);1721// Procedures1722 many = [];1723 theone = {};1724 many.procedures = [];1725 try {1726 count = isOne(pd.procedures.procedure);1727 } catch (e) {1728 count = 01729 }1730 if (count > 1) {1731 for (let i in pd.procedures.procedure) {1732 theone[i] = populateProcedure(pd.procedures.procedure[i]);1733 many.procedures.push(theone[i]);1734 }1735 } else if (count !== 0) {1736 theone = populateProcedure(pd.procedures.procedure);1737 many.procedures.push(theone);1738 }1739 data.procedures = Object.assign(many.procedures);1740// Results1741 if (pd.results)1742 data.results = Object.assign(getResultSet(pd.results, pd)['results']);1743// Immunizations1744 many = [];1745 theone = {};1746 many.immunizations = [];1747 try {1748 count = isOne(pd.immunizations.immunization);1749 } catch (e) {1750 count = 0;1751 }1752 if (count > 1) {1753 for (let i in pd.immunizations.immunization) {1754 theone[i] = populateImmunization(pd.immunizations.immunization[i]);1755 many.immunizations.push(theone[i]);1756 }1757 } else if (count !== 0) {1758 theone = populateImmunization(pd.immunizations.immunization);1759 many.immunizations.push(theone);1760 }1761 data.immunizations = Object.assign(many.immunizations);1762// Plan of Care1763 many = [];1764 theone = {};1765 many.plan_of_care = [];1766 try {1767 count = isOne(pd.planofcare); // ccm doesn't send array of items1768 } catch (e) {1769 count = 01770 }1771 if (count > 1) {1772 for (let i in pd.planofcare.item) {1773 theone[i] = getPlanOfCare(pd.planofcare.item[i]);1774 many.plan_of_care.push(theone[i]);1775 }1776 } else if (count !== 0) {1777 theone = getPlanOfCare(pd.planofcare.item);1778 many.plan_of_care.push(theone);1779 }1780 data.plan_of_care = Object.assign(many.plan_of_care);1781 // Social History1782 many = [];1783 theone = {};1784 many.social_history = [];1785 try {1786 count = isOne(pd.history_physical.social_history.history_element);1787 } catch (e) {1788 count = 01789 }1790 if (count > 1) {1791 for (let i in pd.history_physical.social_history.history_element) {1792 if (i > 0) break;1793 theone[i] = populateSocialHistory(pd.history_physical.social_history.history_element[i]);1794 many.social_history.push(theone[i]);1795 }1796 } else if (count !== 0) {1797 theone = populateSocialHistory(pd.history_physical.social_history.history_element);1798 many.social_history.push(theone);1799 }1800 data.social_history = Object.assign(many.social_history);1801 // ------------------------------------------ End Sections ----------------------------------------//1802 doc.data = Object.assign(data);1803 let meta = getMeta(pd);1804 let header = populateHeader(pd);1805 meta.ccda_header = Object.assign(header);1806 doc.meta = Object.assign(meta);1807 let xml = bbg.generateCCD(doc);1808 // Debug1809 /*fs.writeFile("ccda.json", JSON.stringify(all, null, 4), function (err) {1810 if (err) {1811 return console.log(err);1812 }1813 console.log("Json saved!");1814 });1815 fs.writeFile("ccda.xml", xml, function (err) {1816 if (err) {1817 return console.log(err);1818 }1819 console.log("Xml saved!");1820 });*/1821 return xml;1822}1823function processConnection(connection) {1824 conn = connection; // make it global1825 var remoteAddress = conn.remoteAddress + ':' + conn.remotePort;1826 //console.log(remoteAddress);1827 conn.setEncoding('utf8');1828 var xml_complete = "";1829 function eventData(xml) {1830 xml = xml.replace(/(\u000b|\u001c)/gm, "").trim();1831 // Sanity check from service manager1832 if (xml === 'status' || xml.length < 80) {1833 conn.write("statusok" + String.fromCharCode(28) + "\r\r");1834 conn.end('');1835 return;1836 }1837 xml_complete += xml.toString();1838 if (xml.toString().match(/\<\/CCDA\>$/g)) {1839 // ---------------------start--------------------------------1840 let doc = "";1841 xml_complete = xml_complete.replace(/\t\s+/g, ' ').trim();1842 to_json(xml_complete, function (error, data) {1843 // console.log(JSON.stringify(data, null, 4));1844 if (error) { // need try catch1845 console.log('toJson error: ' + error + 'Len: ' + xml_complete.length);1846 return;1847 }1848 doc = genCcda(data.CCDA);1849 });1850 doc = headReplace(doc);1851 doc = doc.toString().replace(/(\u000b|\u001c|\r)/gm, "").trim();1852 //console.log(doc);1853 let chunk = "";1854 let numChunks = Math.ceil(doc.length / 1024);1855 for (let i = 0, o = 0; i < numChunks; ++i, o += 1024) {1856 chunk = doc.substr(o, 1024);1857 conn.write(chunk);1858 }1859 conn.write(String.fromCharCode(28) + "\r\r" + '');1860 conn.end();1861 }1862 }1863 function eventCloseConn() {1864 //console.log('connection from %s closed', remoteAddress);1865 }1866 function eventErrorConn(err) {1867 //console.log('Connection %s error: %s', remoteAddress, err.message);1868 }1869 // Connection Events //1870 conn.on('data', eventData);1871 conn.once('close', eventCloseConn);1872 conn.on('error', eventErrorConn);1873}1874function setUp(server) {1875 server.on('connection', processConnection);1876 server.listen(6661, 'localhost', function () {1877 //console.log('server listening to %j', server.address());1878 });1879}...
navtreeindex28.js
Source: navtreeindex28.js
1var NAVTREEINDEX28 =2{3"group__sdhc__hal.html#ga1b2abe4e9cba2ed6f6f8021613c2dc7a":[2,59,6,8],4"group__sdhc__hal.html#ga2f4daaa2983db5dbcc77c927d8f3b61e":[2,59,6,25],5"group__sdhc__hal.html#ga2fad9b8532fc441cc7e81fe570129276":[2,59,6,24],6"group__sdhc__hal.html#ga3c91df5d99e24d84b4272cb67fe04975":[2,59,6,10],7"group__sdhc__hal.html#ga44ffbfc01a0e684f6ab069347e871e8f":[2,59,6,12],8"group__sdhc__hal.html#ga53c8593881ced4c20dab0477e56bb3bf":[2,59,6,26],9"group__sdhc__hal.html#ga615189e23d7a834d0b5e634c0f406c99":[2,59,6,15],10"group__sdhc__hal.html#ga773e8cc0c854cb041ce6c64545ed9b57":[2,59,6,9],11"group__sdhc__hal.html#ga78a2b6c7de87fd2dbd57393c4f0fda2f":[2,59,6,31],12"group__sdhc__hal.html#ga79f96e224ace1e6e846b290696401ca9":[2,59,6,28],13"group__sdhc__hal.html#ga84153155652abcbd423fe26f7b2bd3f8":[2,59,6,20],14"group__sdhc__hal.html#ga89182f2f0362cdbc4ed569ec98cdf567":[2,59,6,22],15"group__sdhc__hal.html#ga94a8c05b5416cefed931dec1cb2c5fd0":[2,59,6,5],16"group__sdhc__hal.html#gaa5d01ed8ba43a6bf711501c72f1ba5b2":[2,59,6,30],17"group__sdhc__hal.html#gab318fb35a3b2f18cc50a9cfdb438287a":[2,59,6,14],18"group__sdhc__hal.html#gabc69135b92ea32489801b9a906912748":[2,59,6,11],19"group__sdhc__hal.html#gabe733ec4923787104ff5168bf7cdabf7":[2,59,6,13],20"group__sdhc__hal.html#gabeb981bf44b0d9de2a8e4d297cfc3683":[2,59,6,23],21"group__sdhc__hal.html#gabfacaeb84a546da1801289b0c9385f7c":[2,59,6,27],22"group__sdhc__hal.html#gac48b48ee84846fe957a8b715b41ed86a":[2,59,6,29],23"group__sdhc__hal.html#gac51e82b778e228f520f4136351a264c9":[2,59,6,18],24"group__sdhc__hal.html#gac9affd5bc78046a46e0ce4c5b3c7a759":[2,59,6,6],25"group__sdhc__hal.html#gacd8fd80ac5345816bf85d6443a5abbef":[2,59,6,32],26"group__sdhc__hal.html#gad141b05ea192211e52e01fb5888a018b":[2,59,6,7],27"group__sdhc__hal.html#gae315c4db48bf048bac4636152a438f58":[2,59,6,19],28"group__sdhc__hal.html#gaf08d5a02b0af8bea28b9689812c3a62f":[2,59,6,16],29"group__sdhc__hal.html#gafad5a521327bc79cf96cd2d0a46f7860":[2,59,6,17],30"group__sdhc__hal.html#gga44ffbfc01a0e684f6ab069347e871e8fa4408992434d9a182294c2d47bf81713c":[2,59,6,12,0],31"group__sdhc__hal.html#gga44ffbfc01a0e684f6ab069347e871e8fa9095bea2528eb5897626f54e12d77adf":[2,59,6,12,1],32"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a073d3c75b1fa578e643994b5e09c7564":[2,59,6,11,17],33"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a0df8d982f2426282c56c98c04112bdca":[2,59,6,11,22],34"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a1fbe53a3302aa03b81697ae01db37081":[2,59,6,11,10],35"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a26221ea2700bc89938a6573eb5499214":[2,59,6,11,15],36"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a26a0420408ac2694a3f2dac9c2cbee4d":[2,59,6,11,4],37"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a2ac546ab578ed17484ac3f19590d25a5":[2,59,6,11,12],38"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a371ec209858cf72c055cac50dcf97616":[2,59,6,11,18],39"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a572aadd287698216d7bb85fc85a96c35":[2,59,6,11,20],40"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a62ad54c24e80478255461266d9551630":[2,59,6,11,0],41"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a6c70755e24976f96b496f0c858ffecbc":[2,59,6,11,16],42"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a81ce50981bb440bd202666e031e265ec":[2,59,6,11,1],43"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a8d4285a4dd1e6b1856ffbadf975d4ad3":[2,59,6,11,5],44"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a8d82a2e9f934dfb980a6a48c6b86c38c":[2,59,6,11,19],45"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748a901d11ecd3aa7646cf1ad691d98676d5":[2,59,6,11,14],46"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748aaa5a318297b91b89a73dce6e3d22254f":[2,59,6,11,11],47"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748ac3125340997be281741e600fda76aac1":[2,59,6,11,6],48"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748ac943a722467b2c932b7375972d0d4bda":[2,59,6,11,7],49"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748acb63ad953a9ddbbece7c9c8726f0658c":[2,59,6,11,9],50"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748ae39230bcd41bb37cedb7f672570d3818":[2,59,6,11,2],51"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748aecc9cd9e74008362741d44b29077e8bf":[2,59,6,11,13],52"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748aed2ed28d48d471040056bb4d55287695":[2,59,6,11,8],53"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748af3dec876069680f1b17fc538ab85642a":[2,59,6,11,21],54"group__sdhc__hal.html#ggabc69135b92ea32489801b9a906912748af45744b431d62c13d90f785a8a48d598":[2,59,6,11,3],55"group__sdhc__hal.html#structsdhc__hal__basic__info__t":[2,59,6,0],56"group__sdhc__hal.html#structsdhc__hal__cmd__req__t":[2,59,6,4],57"group__sdhc__hal.html#structsdhc__hal__config__t":[2,59,6,3],58"group__sdhc__hal.html#structsdhc__hal__sdclk__config__t":[2,59,6,1],59"group__sdhc__hal.html#structsdhc__mmcboot__param__t":[2,59,6,2],60"group__sdhc__pd.html":[2,59,7],61"group__sdhc__pd.html#ga10739c50ed445bcca53cb37b6336f68d":[2,59,7,2],62"group__sdhc__pd.html#ga17f6951d6ab284ffdf84ce6e6d613c0f":[2,59,7,6],63"group__sdhc__pd.html#ga2361a1f675f373a3647d2c468bb35670":[2,59,7,4],64"group__sdhc__pd.html#ga32929cd74d3bc5f3b810ba44a95c0230":[2,59,7,3],65"group__sdhc__pd.html#ga9eeecad342efbbdec151f6af028e8bca":[2,59,7,5],66"group__sdhc__pd.html#gad9e6d44f6bbaf9df13ff86513117087f":[2,59,7,1],67"group__sdhc__pd.html#gaf704315fe3032d30a55e7c3abf103b7c":[2,59,7,0],68"group__sdhc__pd__data__types.html":[2,59,5],69"group__sdhc__pd__data__types.html#a0d2c900c3962c3a4cdf2212bc8388011":[2,59,5,1,7],70"group__sdhc__pd__data__types.html#a1191ac6167338c84e77806f749b6b4f2":[2,59,5,3,6],71"group__sdhc__pd__data__types.html#a14e7bb95854bbb45c3ba95c843c0b97b":[2,59,5,2,4],72"group__sdhc__pd__data__types.html#a18491973f06fc839b959177d2e833a1d":[2,59,5,1,1],73"group__sdhc__pd__data__types.html#a1c71241384c274e60c39a7423c7aa44e":[2,59,5,0,5],74"group__sdhc__pd__data__types.html#a2160f2a3cad585797d6cf92a3d71ddd1":[2,59,5,3,1],75"group__sdhc__pd__data__types.html#a275c9defd44ef986999a673a5b61691b":[2,59,5,2,2],76"group__sdhc__pd__data__types.html#a27eabf369069e971723e8b114c121625":[2,59,5,1,3],77"group__sdhc__pd__data__types.html#a2ad16315d720ec842a650d16e54ac5c6":[2,59,5,3,5],78"group__sdhc__pd__data__types.html#a2adcaed3509fb47fa515d573f3fb8288":[2,59,5,1,17],79"group__sdhc__pd__data__types.html#a3361fef68fb3cbe578504c060d4cc965":[2,59,5,1,8],80"group__sdhc__pd__data__types.html#a3904efe1ad49bbb5cc111326dc2d1cbf":[2,59,5,1,5],81"group__sdhc__pd__data__types.html#a4c981d74d0b5e7962be58a04c2684ef8":[2,59,5,0,1],82"group__sdhc__pd__data__types.html#a57247db81229d2270532f0a65655459b":[2,59,5,2,1],83"group__sdhc__pd__data__types.html#a59b330e53b76d313d14afafbd2ba4ade":[2,59,5,1,6],84"group__sdhc__pd__data__types.html#a5d4c52041566b716c2474b7555aef985":[2,59,5,1,15],85"group__sdhc__pd__data__types.html#a6eb9c8a91b45e79e184d5fecd84234ba":[2,59,5,1,14],86"group__sdhc__pd__data__types.html#a80a40e9b9b765f57be825af6cab8be3d":[2,59,5,0,2],87"group__sdhc__pd__data__types.html#a85aa68b994e1048beab3934327afa230":[2,59,5,1,13],88"group__sdhc__pd__data__types.html#a8e07e03a55b7e69c972c63aa0fc6830d":[2,59,5,3,4],89"group__sdhc__pd__data__types.html#a8e401c88bde0bba28bfd9feefa0ee48d":[2,59,5,3,0],90"group__sdhc__pd__data__types.html#a914e581b4aa11448284a6e238a1d8af2":[2,59,5,1,12],91"group__sdhc__pd__data__types.html#a9263d73069f8fef3b280b63e607305ec":[2,59,5,0,3],92"group__sdhc__pd__data__types.html#a9bbea9e00786eeaa965325f1e393feef":[2,59,5,1,2],93"group__sdhc__pd__data__types.html#a9f7f47e15ee1ce5eeff45f81c73d04cc":[2,59,5,1,16],94"group__sdhc__pd__data__types.html#aa64d6e2289286800386ebcd1663224ff":[2,59,5,1,9],95"group__sdhc__pd__data__types.html#aa97694654eefc85e6e2fb305ec500148":[2,59,5,0,0],96"group__sdhc__pd__data__types.html#ab0528be3ab725c06b0d417b26e514756":[2,59,5,2,0],97"group__sdhc__pd__data__types.html#ab7221eea41825a838bf4fb6710e579d7":[2,59,5,1,0],98"group__sdhc__pd__data__types.html#abd580274f521321f39ccdb48e1e4a732":[2,59,5,3,2],99"group__sdhc__pd__data__types.html#abe50a6190b78c43acfe7413c359078ff":[2,59,5,3,3],100"group__sdhc__pd__data__types.html#ac28b644b68c01545c84e210890644872":[2,59,5,3,8],101"group__sdhc__pd__data__types.html#ac9108ac4d7ce02f2dda976772cd1bca7":[2,59,5,2,3],102"group__sdhc__pd__data__types.html#ad0fb5333bdce3c6d93192dae2721158e":[2,59,5,1,11],103"group__sdhc__pd__data__types.html#ad33b4d78560553c87f12571e9cc5d62e":[2,59,5,3,7],104"group__sdhc__pd__data__types.html#ae9a834541e0d04666fc47dc6b0344c04":[2,59,5,1,4],105"group__sdhc__pd__data__types.html#aeef9f56b5279a980211233e771c5103d":[2,59,5,1,10],106"group__sdhc__pd__data__types.html#af713b645442bdb2ae99f7edf68ff2d4a":[2,59,5,0,4],107"group__sdhc__pd__data__types.html#ga2c8f007bb678bcb30432a8524dcda2e8":[2,59,5,8],108"group__sdhc__pd__data__types.html#ga44452e2b75f4fe056a8ef6fced8fa793":[2,59,5,5],109"group__sdhc__pd__data__types.html#ga7e355e95de9ec2f13285ec26daf2362e":[2,59,5,4],110"group__sdhc__pd__data__types.html#ga9947751496e506e08bc4bb6edb607dd5":[2,59,5,9],111"group__sdhc__pd__data__types.html#gabf68ed04c005b01cf23baac4840acb7d":[2,59,5,6],112"group__sdhc__pd__data__types.html#gacc942ca62dd2676adf2beabc09c61aaa":[2,59,5,7],113"group__sdhc__pd__data__types.html#gga2c8f007bb678bcb30432a8524dcda2e8a21d4efc78042a0427d4da5409a8cd3e2":[2,59,5,8,1],114"group__sdhc__pd__data__types.html#gga2c8f007bb678bcb30432a8524dcda2e8a7b2b7dcc2cf21b66091adc94c63adb32":[2,59,5,8,3],115"group__sdhc__pd__data__types.html#gga2c8f007bb678bcb30432a8524dcda2e8a9027d06386ff44a7102b64817445a9a8":[2,59,5,8,2],116"group__sdhc__pd__data__types.html#gga2c8f007bb678bcb30432a8524dcda2e8acb807c9de3e957a3727372c8803f7e06":[2,59,5,8,0],117"group__sdhc__pd__data__types.html#gga44452e2b75f4fe056a8ef6fced8fa793a4e6372661dc5e0b5c08dfd5302a1178c":[2,59,5,5,0],118"group__sdhc__pd__data__types.html#gga44452e2b75f4fe056a8ef6fced8fa793a5d478a7fb67af927723ad8009b202c75":[2,59,5,5,2],119"group__sdhc__pd__data__types.html#gga44452e2b75f4fe056a8ef6fced8fa793aa0d9aff86d678c896ee31bdd586ae8a8":[2,59,5,5,3],120"group__sdhc__pd__data__types.html#gga44452e2b75f4fe056a8ef6fced8fa793aab011c030ec9646979f10a83ffd6b8e0":[2,59,5,5,4],121"group__sdhc__pd__data__types.html#gga44452e2b75f4fe056a8ef6fced8fa793abe76f1412667887567639cb05954bf5b":[2,59,5,5,1],122"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea08f42906973f35075e850c4d75353176":[2,59,5,4,25],123"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea0a6cb176e261e1524f959543403b15c2":[2,59,5,4,29],124"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea0b9e99c1d3f3446eab41f6f7bdb5cb6f":[2,59,5,4,17],125"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea0d41e0701bef072d419be4ff1ac68254":[2,59,5,4,4],126"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea0e4958a59149b411ac85b981ec5defa6":[2,59,5,4,2],127"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea0e4b7182ee743027c623b7c9ce13669f":[2,59,5,4,24],128"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea13d1b4d0062b8ebc92475f7f335fa4c4":[2,59,5,4,21],129"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea14bab95590e6e408c6a7ec9e37634e43":[2,59,5,4,33],130"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea1a48462f15a33c9e34e2ce93060e8cd3":[2,59,5,4,30],131"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea2474c0f9c18a39cd47db87f1f8a45ceb":[2,59,5,4,34],132"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea386a357f1b8f0ca7fcdfc371cf04822a":[2,59,5,4,16],133"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea3e239135e30a53ead25f0ba6d983ebcf":[2,59,5,4,22],134"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea44f73611f284ce934e025dd9924f7eb3":[2,59,5,4,10],135"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea536990ef8c6b1d5e77c87a3364d5cc27":[2,59,5,4,23],136"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea57e4d9dc88b64e8788e5a8ca0afbca3c":[2,59,5,4,0],137"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea6731f6035602dcdc30d410f8ba1c8258":[2,59,5,4,14],138"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea69d63777f4f68da38641fc12d60a3bc6":[2,59,5,4,9],139"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea6d1b71d7d7d51cc30f2fb9d781600171":[2,59,5,4,40],140"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea6d1f6326dff7533d949b00cb6fee94ef":[2,59,5,4,35],141"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea6e07fe56df153e79027ffb3afad1f077":[2,59,5,4,7],142"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea79b34e606a314e373762f70c1ee6fe28":[2,59,5,4,5],143"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea9376587b7b61dba6eb86246e711b64fd":[2,59,5,4,1],144"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea9be33d93177fcf2ea1b0cff972041439":[2,59,5,4,36],145"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea9eec027cfb29474874080aa9d1251258":[2,59,5,4,6],146"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ea9fd35f9a09fe26392e8c4b229ec3c1c1":[2,59,5,4,20],147"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362eaa82976239b38f8a1707898a04adee10e":[2,59,5,4,8],148"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362eaa8e5c04a1b9674660871e0d59560f577":[2,59,5,4,11],149"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362eaaf58b950078921c2ac0c79cd8a26810d":[2,59,5,4,37],150"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362eab246eff8720ee180a59a80c47a65e692":[2,59,5,4,27],151"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362eab6c52027dea09b0e0700351c12eab04e":[2,59,5,4,26],152"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362eab79960767b1d941b28e1cc7519df98c8":[2,59,5,4,32],153"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362eab98dbd4c4b0d4b713275e19ea5bfb7f2":[2,59,5,4,12],154"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362eac2b04746bcd703768767568bacc7ea16":[2,59,5,4,15],155"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362eacd7a1a8977e698fbbd74e674819fe36e":[2,59,5,4,39],156"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ead39af30df222bccbfff6de2e3e09aca0":[2,59,5,4,31],157"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ead79712c6e0ee76b2117439ea2c077221":[2,59,5,4,3],158"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362ead82f5345c903c18e356f5c1d7fe1d948":[2,59,5,4,13],159"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362eae8b78929aada3026e1679784681a570c":[2,59,5,4,19],160"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362eaf4a8dff96b7d3bef648cf1d24a453b17":[2,59,5,4,18],161"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362eafc5e3c623a03e7dab2d6b7e6a0c4ed02":[2,59,5,4,38],162"group__sdhc__pd__data__types.html#gga7e355e95de9ec2f13285ec26daf2362eafda086f47ecdaf7e49418bf619759dc8":[2,59,5,4,28],163"group__sdhc__pd__data__types.html#gga9947751496e506e08bc4bb6edb607dd5a1dff2cf9be1410064252d5a0c05a0976":[2,59,5,9,6],164"group__sdhc__pd__data__types.html#gga9947751496e506e08bc4bb6edb607dd5a2311f2ce6df2555b9f3656d215b83c6d":[2,59,5,9,5],165"group__sdhc__pd__data__types.html#gga9947751496e506e08bc4bb6edb607dd5a239a6fd10383ef44dd59b125854f8214":[2,59,5,9,2],166"group__sdhc__pd__data__types.html#gga9947751496e506e08bc4bb6edb607dd5a363fff5fab34ac8f3c9c2c9b45916fff":[2,59,5,9,0],167"group__sdhc__pd__data__types.html#gga9947751496e506e08bc4bb6edb607dd5a3a2dc7b7c26fba0436e8fbc0fb62f568":[2,59,5,9,4],168"group__sdhc__pd__data__types.html#gga9947751496e506e08bc4bb6edb607dd5a70e7f1593a5713a82b963389928f18e4":[2,59,5,9,1],169"group__sdhc__pd__data__types.html#gga9947751496e506e08bc4bb6edb607dd5a93b27e10c51c2c8b5e41fbfc651f2707":[2,59,5,9,9],170"group__sdhc__pd__data__types.html#gga9947751496e506e08bc4bb6edb607dd5aa067ca53687c3eea14ad8328a2d85084":[2,59,5,9,7],171"group__sdhc__pd__data__types.html#gga9947751496e506e08bc4bb6edb607dd5acb29e9b3a6e0b77ac979554150b79288":[2,59,5,9,8],172"group__sdhc__pd__data__types.html#gga9947751496e506e08bc4bb6edb607dd5acf24507091b94646d16c4f66919d3c12":[2,59,5,9,3],173"group__sdhc__pd__data__types.html#ggabf68ed04c005b01cf23baac4840acb7da550a8eca408618e41ea4ace26c0ed5dc":[2,59,5,6,1],174"group__sdhc__pd__data__types.html#ggabf68ed04c005b01cf23baac4840acb7da58f85708b3d107ebc1682563b988491e":[2,59,5,6,0],175"group__sdhc__pd__data__types.html#ggabf68ed04c005b01cf23baac4840acb7da862b21bcd3d25395db846bc157f8edb5":[2,59,5,6,2],176"group__sdhc__pd__data__types.html#ggacc942ca62dd2676adf2beabc09c61aaaa0be47fa4fbe5f53be074bd974e2e46ac":[2,59,5,7,1],177"group__sdhc__pd__data__types.html#ggacc942ca62dd2676adf2beabc09c61aaaa69928b5b7e17380e98eecf3f22116395":[2,59,5,7,0],178"group__sdhc__pd__data__types.html#ggacc942ca62dd2676adf2beabc09c61aaaadc313205d0af6cef9fe9383219d27045":[2,59,5,7,2],179"group__sdhc__pd__data__types.html#structsdhc__data__t":[2,59,5,2],180"group__sdhc__pd__data__types.html#structsdhc__host__t":[2,59,5,1],181"group__sdhc__pd__data__types.html#structsdhc__request__t":[2,59,5,3],182"group__sdhc__pd__data__types.html#structsdhc__user__config__t":[2,59,5,0],183"group__sdhc__std__def.html":[2,59,8],184"group__sdhc__std__def.html#ga017f0ac45c5e74603864842372413d5b":[2,59,8,195],185"group__sdhc__std__def.html#ga019ff9ea848b4bd106949ef7fa6c8421":[2,59,8,30],186"group__sdhc__std__def.html#ga029ebfd364158145061aaf3b71397e3d":[2,59,8,74],187"group__sdhc__std__def.html#ga02ad784af3031742503162e796226d54":[2,59,8,192],188"group__sdhc__std__def.html#ga050c4c998f0efaa92e76ac32eaab4afa":[2,59,8,169],189"group__sdhc__std__def.html#ga063a943b71aac282b21e14f5cba14a5d":[2,59,8,70],190"group__sdhc__std__def.html#ga06495e030760bf69a7c89024698e1988":[2,59,8,153],191"group__sdhc__std__def.html#ga08b0237e485a7e9a405687932ed8c6d7":[2,59,8,33],192"group__sdhc__std__def.html#ga091709bdfbfe9bebd1b1c0b713a729c0":[2,59,8,188],193"group__sdhc__std__def.html#ga0a2b446f5b33d3f9f11951f2cd6d770d":[2,59,8,61],194"group__sdhc__std__def.html#ga0be8993b6365f8cf36505378d4c909f7":[2,59,8,2],195"group__sdhc__std__def.html#ga0d2da6437c92dcbeed2fa660a6d4d6bf":[2,59,8,34],196"group__sdhc__std__def.html#ga0d9c56085091152b4982bf095e1e2a8c":[2,59,8,141],197"group__sdhc__std__def.html#ga0fc823cb2042ace36bdaa4ec4f56aa7a":[2,59,8,157],198"group__sdhc__std__def.html#ga11d7d292d3f688e2bc29c428ccaca5e8":[2,59,8,6],199"group__sdhc__std__def.html#ga14a4a57fb27e7049ff819cad785916ee":[2,59,8,138],200"group__sdhc__std__def.html#ga158ffd19d6523275dbe12dbe63fce797":[2,59,8,124],201"group__sdhc__std__def.html#ga18b0a8ae6c943b7158d4eb6924ed7c52":[2,59,8,53],202"group__sdhc__std__def.html#ga18d0a5496759dac5dbe04fc03894788d":[2,59,8,98],203"group__sdhc__std__def.html#ga18d902ccae81b2660efb87fcff0b915c":[2,59,8,63],204"group__sdhc__std__def.html#ga199e63dce755d71309bd0790a00def1c":[2,59,8,42],205"group__sdhc__std__def.html#ga1b484ab2f59f670c8d803e19e879dbf0":[2,59,8,154],206"group__sdhc__std__def.html#ga1bfeca8d66c8ab6f7746ed547e86dd45":[2,59,8,45],207"group__sdhc__std__def.html#ga1d65948d7a8468bca5b10052b212b74d":[2,59,8,64],208"group__sdhc__std__def.html#ga1e15684d4ed85110cac4aea2e3ef8acf":[2,59,8,111],209"group__sdhc__std__def.html#ga1e54bda83f2ee72a14a043f05aa4b4f4":[2,59,8,155],210"group__sdhc__std__def.html#ga1ea97c77eb0f8d5df39e5a4ce14989d2":[2,59,8,9],211"group__sdhc__std__def.html#ga20fb6a3bdfb0b3ef24d1b7d0f7473e94":[2,59,8,162],212"group__sdhc__std__def.html#ga22283880c591db7c039a4987c2ebcb61":[2,59,8,29],213"group__sdhc__std__def.html#ga2232590ec8d976ed82817bff00f8c9af":[2,59,8,46],214"group__sdhc__std__def.html#ga23f25aef07819f31f6545dcc7344bf7a":[2,59,8,151],215"group__sdhc__std__def.html#ga24123af385f5b4a67610414afb7bb0bd":[2,59,8,32],216"group__sdhc__std__def.html#ga284058f50e306b883f68a7c672efbe10":[2,59,8,104],217"group__sdhc__std__def.html#ga2896a851e90a6e1e364b38578fcb94d3":[2,59,8,175],218"group__sdhc__std__def.html#ga29cda8730af7c69d111bf2f088d96422":[2,59,8,110],219"group__sdhc__std__def.html#ga2ba14d63dab5fdfeaa8891977183d814":[2,59,8,22],220"group__sdhc__std__def.html#ga2c5022e87172799641ba01cd5935fbc9":[2,59,8,15],221"group__sdhc__std__def.html#ga2e357a2642495ca27bcacce5e3b069c1":[2,59,8,95],222"group__sdhc__std__def.html#ga2edc0103c43ae18cb2ff35441d4b6615":[2,59,8,194],223"group__sdhc__std__def.html#ga30fab505198fa2382fb8a8337e47e9e9":[2,59,8,83],224"group__sdhc__std__def.html#ga314865ac9fb109759333e330b8f2b391":[2,59,8,130],225"group__sdhc__std__def.html#ga317a1a244a973787bd8f6befa06ae4f9":[2,59,8,121],226"group__sdhc__std__def.html#ga33ae795e54613a80b793ab80c73ff96f":[2,59,8,82],227"group__sdhc__std__def.html#ga351eb37ed230d1dfb10c937af2e916ce":[2,59,8,120],228"group__sdhc__std__def.html#ga353d1aea62373e409437923c8c49dc76":[2,59,8,165],229"group__sdhc__std__def.html#ga370740c7ce630a69c9f4c960fdad57e4":[2,59,8,145],230"group__sdhc__std__def.html#ga370e410f3ae66857e04126b69ddc5075":[2,59,8,102],231"group__sdhc__std__def.html#ga38929d080e7a410fb92761a35124a773":[2,59,8,37],232"group__sdhc__std__def.html#ga39e086ed10ecc1cb7443e7da9a4689fb":[2,59,8,174],233"group__sdhc__std__def.html#ga3b1289329c4a05e0f565790bf17db3af":[2,59,8,171],234"group__sdhc__std__def.html#ga3b5be7967d5f2ec353143635e31960c3":[2,59,8,113],235"group__sdhc__std__def.html#ga3cce10fe947c1887437d4fdb195614f7":[2,59,8,178],236"group__sdhc__std__def.html#ga3e2337ce29746e81806b38db5c30d7b9":[2,59,8,18],237"group__sdhc__std__def.html#ga3e2a4d3c6ac3f7a3a97f11be34de12c4":[2,59,8,81],238"group__sdhc__std__def.html#ga3fd1bf0205d4036a62272adca87f5506":[2,59,8,176],239"group__sdhc__std__def.html#ga4126f9c04468801872096e6f240b8f54":[2,59,8,69],240"group__sdhc__std__def.html#ga416006ec0465e826dc4beaf7ce86cceb":[2,59,8,28],241"group__sdhc__std__def.html#ga424c8c49a33250de466985033542a402":[2,59,8,101],242"group__sdhc__std__def.html#ga42c8848b2b678be4cc8b195ff1f1fce8":[2,59,8,167],243"group__sdhc__std__def.html#ga431e5846a6e97f6497c4469b146356ab":[2,59,8,100],244"group__sdhc__std__def.html#ga44df7730c1822ffbcd21902203140598":[2,59,8,57],245"group__sdhc__std__def.html#ga44f1904ab2dea31c1d7391ed7e36d1f6":[2,59,8,38],246"group__sdhc__std__def.html#ga459adf6d0fb918d0d4b0e010e95ba109":[2,59,8,199],247"group__sdhc__std__def.html#ga46693efe2ce5afe0cc81d201aadb4b04":[2,59,8,94],248"group__sdhc__std__def.html#ga466f50356ee753bf149dac14bd32dd12":[2,59,8,54],249"group__sdhc__std__def.html#ga46e12e53d79905c864e73f28305dcf31":[2,59,8,129],250"group__sdhc__std__def.html#ga482d8ba0f568f8a99dc62a2011cc1053":[2,59,8,128],251"group__sdhc__std__def.html#ga48ac6e8f9354723dcb5e205beaf89d96":[2,59,8,51],252"group__sdhc__std__def.html#ga4a97c30d1e560b1d697fb430d7952acd":[2,59,8,117]...
script.js
Source: script.js
1$(document).ready(function(){2 //#0. 구ì±ì ëí ì¤íì¼ ì ì©3 //#1. ë°°ì´ ë°ì´í°ë¥¼ 구ì±4 //2ì°¨ ë°°ì´ ë°ì´í° = ["ì´ë¯¸ì§", "íì´í", "ë´ì©", "ê°ê²©ì ë³´", "ë ì§", "ì¢ìì íì"]5 6 var $pd_arr = [7 ["img1.jpg", "ê±°ì¤ ì¸í
리ì´1", "í©ë¦¬ì ì¸ ì¤ì©ì£¼ì ì¸í
리ì´1", "30000", "20211005", "4"],8 ["img2.jpg", "ê±°ì¤ ì¸í
리ì´5", "í©ë¦¬ì ì¸ ì¤ì©ì£¼ì ì¸í
리ì´5", "120000", "20211011", "73"],9 ["img3.jpg", "ì¹¨ì¤ ì¸í
리ì´2", "미ëë©ë¦¬ì¦ ì¹¨ì¤ ì¸í
리ì´2", "70000", "2021022", "56"],10 ["img4.jpg", "ì¹¨ì¤ ì¸í
리ì´3", "모ëëì¦ ì¹¨ì¤ ì¸í
리ì´3", "90000", "20210807", "23"],11 ["img5.jpg", "주방 ì¸í
리ì´1", "ì르ëë³´ ì¤íì¼ ì£¼ë°© ì¸í
리ì´1", "80000", "20201231", "105"],12 ["img6.jpg", "ê±°ì¤ ì¸í
리ì´8", "í©ë¦¬ì ì¸ ì¤ì©ì£¼ì ì¸í
리ì´8", "140000", "20210328", "97"],13 ["img7.jpg", "ìì¬ ì¸í
리ì´4", "미ëë©ë¦¬ì¦ ì¸í
리ì´4", "72000", "20210408", "47"],14 ["img8.jpg", "ìì¤ ì¸í
리ì´3", "í¬ì¤í¸ëª¨ëëì¦ ì¸í
리ì´1", "95000", "20210117", "64"],15 ["img9.jpg", "ê±°ì¤ ì¸í
리ì´6", "í©ë¦¬ì ì¸ ì¤ì©ì£¼ì ì¸í
리ì´6", "28000", "20210329", "71"],16 ["img1.jpg", "ê±°ì¤ ì¸í
리ì´1", "í©ë¦¬ì ì¸ ì¤ì©ì£¼ì ì¸í
리ì´1", "30000", "20211006", "4"],17 ["img2.jpg", "ê±°ì¤ ì¸í
리ì´5", "í©ë¦¬ì ì¸ ì¤ì©ì£¼ì ì¸í
리ì´5", "120000", "20211021", "73"],18 ["img3.jpg", "ì¹¨ì¤ ì¸í
리ì´2", "미ëë©ë¦¬ì¦ ì¹¨ì¤ ì¸í
리ì´2", "70000", "20210923", "56"],19 ["img4.jpg", "ì¹¨ì¤ ì¸í
리ì´3", "모ëëì¦ ì¹¨ì¤ ì¸í
리ì´3", "90000", "20210507", "24"],20 ["img5.jpg", "주방 ì¸í
리ì´1", "ì르ëë³´ ì¤íì¼ ì£¼ë°© ì¸í
리ì´1", "80000", "20201131", "115"],21 ["img6.jpg", "ê±°ì¤ ì¸í
리ì´8", "í©ë¦¬ì ì¸ ì¤ì©ì£¼ì ì¸í
리ì´8", "140000", "20210318", "96"],22 ["img7.jpg", "ìì¬ ì¸í
리ì´4", "미ëë©ë¦¬ì¦ ì¸í
리ì´4", "72000", "20210418", "45"],23 ["img8.jpg", "ìì¤ ì¸í
리ì´3", "í¬ì¤í¸ëª¨ëëì¦ ì¸í
리ì´1", "95000", "20210128", "60"],24 ["img9.jpg", "ê±°ì¤ ì¸í
리ì´6", "í©ë¦¬ì ì¸ ì¤ì©ì£¼ì ì¸í
리ì´6", "28000", "20210327", "85"],25 ];26 //#2. í¨í´íí 구조를 ì ì¥27 var $pd_box = 28 `29 <div class="pd_box">30 <div class="pd_photo">31 <img src="./img/img1.jpg" alt="">32 </div>33 <div class="pd_info">34 <h3 class="pd_title">Title</h3>35 <p class="pd_text">Content</p>36 <div class="pd_etc">37 <span class="pd_price">ê°ê²©ì ë³´</span>38 <span class="pd_date">ì
ë°ì´í¸ ë ì§</span>39 </div>40 <p class="fav">ì¢ìì <span>50</span></p>41 </div>42 </div>43 `;44 //console.log($pd_box);45 //#3. for문ì íì©íì¬ ë°°ì´ ë°ì´í°ì ê°ìë§í¼ ë°ë³µë¬¸ì ë리면ì HTMLì 구조í를 ì§í46 for(i=0; i<$pd_arr.length; i++){47 $(".pd_frame").append($pd_box);48 }49 //ìë¨ì sort ë²í¼ì í´ë¦íì ë ì¸ë±ì¤ ë²í¸ë¥¼ ì¶ì¶. ì를 ë¤ì´ "ìµì ì"ì´ë¼ë ë²í¼ì í´ë¦íë¤ë©´ ì¸ë±ì¤ ë²í¸ë 050 var $btn_index;51 //#4. each문ì¼ë¡ ìì°¨ì ì ê·¼ ê³¼ì ìì ë°ì´í°ë¥¼ ë£ì´ì¤ë¤.52 53 function pd_sort(){54 $(".pd_box").each(function(index){55 $(this).find(".pd_photo img").attr("src", "./img/"+$pd_arr[index][0]);56 $(this).find(".pd_title").text($pd_arr[index][1]);57 $(this).find(".pd_text").text($pd_arr[index][2]);58 $(this).find(".pd_price").text($pd_arr[index][3].replace(/\B(?=(\d{3})+(?!\d))/g, ","));59 $(this).find(".pd_date").text($pd_arr[index][4]);60 $(this).find(".fav span").text($pd_arr[index][5]);61 62 });63 //console.log(this) //í´ë¦í ê³³ì ììê° ìë ìµìë¨ì document ==> ready ì´ë²¤í¸ì 주체 ... í¨ì문 ë´ë¶ìì ì¬ì© ë¶ê°64 $(".sort_button button").removeClass("active");65 $(".sort_button button").eq($btn_index).addClass("active");66 //4ê°ì¤ íëì ë²í¼ì í´ë¦íì ë, ì
ë í¸ ë°ì¤ì ìµì
ì ì ííëë¡ íë¤.67 $(".sort_sel option").prop("selected", false);68 $(".sort_sel option").eq($btn_index + 1).prop("selected", true);69 };70 pd_sort();71 //sort() : ìì¤í¤ ì½ë ìì ìì ì ë¶í° í° ì ìì¼ë¡ ëì´ëë ë°©ì72 var $test1 = ["graph", "apple", "cherry"];73 $test1.sort();74 console.log($test1); //['apple', 'cherry', 'graph'] : a(97) ~ z(122) 문ì ììì 첫 ê¸ìì ìì¤í¤ì½ëìì ê° ìì¼ë¡ ëì´ë¨75 var $test2 = ["7200", "10000", "27000"]; //['10000', '27000', '7200'] : ê°ì¥ 먼ì ì²ìì ë°°ì¹ë ì«ì를 ë¹êµíì¬ ììëë¡ ëì´ë¨76 $test2.sort();77 console.log($test2); 78 var $test3 = ["3000", "12000", "5000"];79 $test3.sort(function(a, b){80 return a - b; // 3000 - 12000 => ìì(false)[ì리ë³ë ìì]; ... 12000 - 5000 => ìì(true)[ì리ë³ë]81 });82 console.log($test3);83 84 //ìµì ìì¼ë¡ ì ë ¬ - ë²í¼85 $(".date_sort").click(function(){86 $pd_arr.sort(function(a, b){87 //return a[4] - b[4]; ì¤ë¦ì°¨ìì¼ë¡ ì ë ¬88 return b[4] - a[4]; //ë´ë¦¼ì°¨ìì¼ë¡ ì ë ¬89 });90 console.log($pd_arr); //0ë² ì¸ë±ì¤ì ë³ê²½ë 2ì°¨ ë°°ì´ì 4ë² ì¸ë±ì¤ ë°ì´í° : ê°ì¥ ì¤ëë ë ì§ë¥¼ ì§ì¹91 92 //$pd_arr.reverse(); // íì¬ ë°°ì´ì ë°ì´í°ë¥¼ ììì¼ë¡ ë린ë¤93 //console.log($pd_arr);94 $btn_index = $(this).index();95 pd_sort(); //ë°°ì´ ë°ì´í°ì sortê³¼ì ì´ ì¢
ë£ëë©´ í¨ì문ì í¸ì¶íì¬ ë°ì´í°ë¥¼ ë¤ì ë£ì´ì¤ë¤.96 });97 //"ì ê°ì"ì¼ë¡ ì ë ¬ - ë²í¼98 $(".low_sort").click(function(){99 $pd_arr.sort(function(a, b){100 101 return a[3] - b[3]; 102 });103 $btn_index = $(this).index();104 pd_sort();105 });106 //"ê³ ê°ì"ì¼ë¡ ì ë ¬ - ë²í¼107 $(".high_sort").click(function(){108 $pd_arr.sort(function(a, b){109 110 return b[3] - a[3]; 111 });112 $btn_index = $(this).index();113 pd_sort();114 });115 //"ì¸ê¸°ì"ì¼ë¡ ì ë ¬ - ë²í¼116 $(".fav_sort").click(function(){117 $pd_arr.sort(function(a, b){118 119 return b[5] - a[5]; 120 });121 $btn_index = $(this).index();122 pd_sort();123 });124 125 //ì
ë í¸ ë°ì¤ì value ê°ì ìí ìí ì ë ¬126 $(".sort_sel").change(function(){127 var $sel_val = $(this).val();128 console.log($sel_val);129 if($sel_val == "date"){ //ìµì ì130 $pd_arr.sort(function(a, b){131 132 return b[4] - a[4];133 });134 }else if($sel_val == "high"){ //ê³ ê°ì135 $pd_arr.sort(function(a, b){136 137 return b[3] - a[3]; 138 });139 }else if($sel_val == "low"){ //ì ê°ì140 $pd_arr.sort(function(a, b){141 142 return a[3] - b[3]; 143 });144 }else if($sel_val == "fav"){ //ì¸ê¸°ì145 $pd_arr.sort(function(a, b){146 147 return b[5] - a[5]; 148 });149 }150 pd_sort();151 //íë²ì´ë¼ë ì¬ì©ìê° ì íì íê³ ëë©´ ì íì´ë¼ë ì
ë í¸ ë°ì¤ì ìµì
ì ì íëì§ ëª»íëë¡ êµ¬ì±152 $(".sort_sel option").eq(0).prop("disabled", true);153 //$(".sort_sel option").eq(0).remove();154 //$(".sort_sel option:contains('ì í)").remove(); //"ì í"ì´ë¼ë í
ì¤í¸ë¥¼ í¬í¨íê³ ìë ìµì
íê·¸ë§ ì í155 $(".sort_button button").removeClass("active");156 $(".sort_button button[class*='"+$sel_val+"']").addClass("active");157 $(".sort_sel option").prop("selected", false); //ì
ë í¸ ë°ì¤ìì ì íì 모ë í´ì 158 $(".sort_sel option[value='"+$sel_val+"']").prop("selected", true); //ì íí ê³³ì value ê°ê³¼ ì¼ì¹íë ê³³ì¼ë¡ ë³ê²½ëê²ë ì¤ì 159 });160 //[CSS ìì±ì íì]161 //[ìì±ëª
='ìì±ê°'] : í´ë¹ ìì±ëª
ê³¼ ìì±ê°ë§ ì ííê² ì¼ì¹íë ìì를 ì í162 //[ìì±ëª
*='ìì±ê°'] : í´ë¹ ìì±ëª
ì ìì±ê°ì í¬í¨íê³ ìë ìì를 ì í163 //[ìì±ëª
^='ìì±ê°'] : í´ë¹ ìì±ëª
ì í´ë¹ ìì±ê°ì¼ë¡ ììíë ìì를 ì í164 //[ìì±ëª
$='ìì±ê°'] : í´ë¹ ìì±ëª
ì í´ë¹ ìì±ê°ì¼ë¡ ì¢
ë£íë ìì를 ì í165 166 ////// íì´ì§ 구ì±í기 /////167 //#1. ëªê°ë¥¼ íëì íì´ì ë§ë¤ ìíì ë³´ì¬ì¤ ê²ì¸ê°? <ol> íê·¸ ìëì ì¡´ì¬íë <li>를 ìíì ê°ìì ë§ì¶ì´ì ë£ì´ì¤168 var $ea_item = 4; //ê° íì´ì§ë³ë¡ 4ê°ì ìíì ë³´ì¬ì£¼ê² ë¤ê³ ì ì¸169 //18ê°ì ìíì´ ì¡´ì¬íë¤ë©´ (1,2,3,4) / (5,6,7,8) / (9,10,11,12) / (13,14,15,16) / (17, 18)170 function view_default(){171 172 173 if($pd_arr.length % $ea_item == 0){ //ì ì²´ ìíì ê°ìë 4ì ë°°ìë¤. ë§ì½, 16ê°ì ìíì´ ì¡´ì¬íë¤ë©´174 //liì ê°ì를 ìíì ê°ë³ íì´ì§ë§ë¤ ë³´ì¬ì¤ ìì ì¼ì¹175 for(k = 0; k < $pd_arr/$ea_item; k++){ //k<4 ... k = 0 -> 1 -> 2 -> 3176 $(".pager").append("<li>"+(k+1)+"</li>");177 }178 }else{ //ì ì²´ ìíì ê°ìë 4ì ë°°ìê° ìëë¤.179 for(k = 0; k < $pd_arr.length/$ea_item; k++){ //k<=4.5 ... k = 0 -> 1 -> 2 -> 3 -> 4180 $(".pager").append("<li>"+(k+1)+"</li>");181 }182 }183 //ì´ê¸° 구ì±(liì íì¬ íì´ì§ë¥¼ ìë ¤ì£¼ë íì±í ìí + í´ë¹íë íì´ì§ì ë´ì©ë§ ì ì¸íê³ ëª¨ë ê²ì ê°ì¶ë¤.)184 //ì¸ë±ì¤ ë²í¸185 /*186 [í íì´ì§ë§ë¤ 4ê°ì© ë³´ì¬ì¤ ê²½ì°]187 (0, 1, 2, 3)188 (4, 5, 6, 7)189 (8, 9, 10, 11)190 (12, 13, 14, 15)191 (16, 17) 192 [í íì´ì§ë§ë¤ 8ê°ì© ë³´ì¬ì¤ ê²½ì°]193 (0, 1, 2, 3, 4, 5, 6, 7)194 (8, 9, 10, 11, 12, 13, 14, 15)195 (16, 17)196 */197 $(".pd_box").show();198 $(".pager li").eq(0).addClass("active");199 $(".pd_box").eq($ea_item - 1).nextAll().hide();200 };201 view_default(); //ë¸ë¼ì°ì ë¡ë©í í¨ì구문 í¸ì¶íì¬ ì´ê¸°ê°ì ì¸í
202 $(".ea_btn").click(function(){203 $ea_item = $(this).attr("rel");204 console.log($ea_item);205 $(".pager").empty();206 $(".ea_btn").removeClass("active");207 $(this).addClass("active");208 view_default(); //ê°ì 보기를 í´ë¦íì ë í¨ì를 í¸ì¶íë¤.209 });210 //íì´ì 를 í´ë¦íì ë í´ë¹íë íì´ì ë¡ ê´ë ¨ ìíë§ ë³´ì¬ì¤ë¤. ì¸ë±ì¤ë²í¸ì ë§ì¶°ì ëíëê² íë¤.211 /*212 ol>li 0ë² ì¸ë±ì¤ë¥¼ í´ë¦ì : 0,1,2,3 0(ì¸ë±ì¤ë²í¸) * $ea_item ~ ((0 + 1) * $ea_item) - 1213 ol>li 1ë² ì¸ë±ì¤ë¥¼ í´ë¦ì : 4,5,6,7 1(ì¸ë±ì¤ë²í¸) * $ea_item ~ ((1 + 1) * $ea_item) - 1214 ol>li 2ë² ì¸ë±ì¤ë¥¼ í´ë¦ì : 8,9,10,11 2(ì¸ë±ì¤ë²í¸) * $ea_item ~ ((2 + 1) * $ea_item) - 1215 ol>li 3ë² ì¸ë±ì¤ë¥¼ í´ë¦ì : 12,13,14,15 3(ì¸ë±ì¤ë²í¸) * $ea_item ~ ((3 + 1) * $ea_item) - 1216 */217 $(document).on("click", ".pager li", function(){218 //console.log("í´ë¦ ì´ë²¤í¸ ë°ì")219 var $pager_index = $(this).index();220 console.log($pager_index);221 $(".pd_box").show();222 //ë³´ì¬ì¤ íë©´223 //ê° íì´ì§ì 첫ë²ì§¸ ì¸ë±ì¤ ì´ì ì 모ë íì ë¤ì ë³´ì´ì§ ìëë¡ ì²ë¦¬224 $(".pd_box").eq($pager_index * $ea_item).prevAll().hide();225 //ê° íì´ì§ì ë§ì§ë§ ì¸ë±ì¤ ì´íì 모ë íì ë¤ì ë³´ì´ì§ ìëë¡ ì²ë¦¬226 $(".pd_box").eq((($pager_index + 1) * $ea_item) - 1).nextAll().hide();227 $(".pager li").removeClass("active");228 $(this).addClass("active");229 });...
iframe_alter_product.js
Source: iframe_alter_product.js
1/* global shoproot */2/**3 * ååç¼è¾4 * @description Hope You Do Good But Not Evil5 * @copyright Copyright 2014-2015 <ycchen@iwshop.cn>6 * @license LGPL (http://www.gnu.org/licenses/lgpl.html)7 * @author Chenyong Cai <ycchen@iwshop.cn>8 * @package Wshop9 * @link http://www.iwshop.cn10 */11requirejs(['util', 'fancyBox', 'ueditor', 'jUploader'], function (util, fancyBox, ueditor, jUploader) {12 // ååå¾çå表13 var pdImages = ['', '', '', '', ''];14 // ååid15 var pdId = false;16 // ååå¾ç宽度17 var pdImageWidth = false;18 // ajaxé19 var loadingLock = false;20 var pdCatimg = false;21 var entDiscount = [];22 var entDisLastOpt;23 fnFancyBox('#catimgPv');24 fnFancyBox('.pd-image-view');25 fnFancyBox('#fetch_product_btn');//æåæ°æ®æé®fancybox26 // 产åé¦å¾27 pdCatimg = $('#pd-catimg').val() === '' ? false : $('#pd-catimg').val();28 if ($('#mod').val() === 'edit') {29 // ç¼è¾æ¨¡å¼ åå
¥å¾çå表30 $('.pd-images').each(function (i, node) {31 if ($(node).val() && $(node).val() !== '' && i < 5) {32 pdImages[$(node).attr('data-sort')] = $(node).val();33 $('.pd-image-sec').eq(parseInt($(node).attr('data-sort')) + 1).append('<img src="' + $(node).val() + '" width="' + pdImageWidth + 'px" /><a href="' + $(node).val() + '" class="pd-image-view"> </a><i data-id=' + $(node).attr('data-sort') + ' class="pd-image-delete"> </i>').addClass('ove');34 }35 });36 fnPdimageDelete();37 // ååç¼å·38 pdId = parseInt($('#pid').val());39 fnFancyBox('.pd-image-view');40 } else {41 // æ°å»ºæ¨¡å¼42 pdId = false;43 }44 // 产ååç±»45 var pdCatSelect = $("#pd-catselect").find("option[value='" + $('#pd-form-cat').val() + "']");46 if (pdCatSelect.get(0) !== undefined) {47 pdCatSelect.get(0).selected = true;48 }49 // 产åç§æ50 $('#pd-prom').on('change', function () {51 if (parseInt($(this).val()) === 1) {52 $('#prom_option').removeClass('hidden');53 } else {54 $('#prom_option').addClass('hidden');55 }56 });57 // éå¢ææ£58 $('.product-ent-discount').each(function (i, node) {59 if (i === 0) {60 $('#pd-ent-discount').val(parseFloat($(this).attr('data-discount')));61 entDisLastOpt = $(this);62 }63 entDiscount.push({64 ent: parseInt($(this).val()),65 discount: parseFloat($(this).attr('data-discount'))66 });67 });68 // 产åå¾ç69 $('.pd-image-sec').each(function () {70 var btn = this;71 // å¾çä¸ä¼ æ件72 $.jUploader({73 button: $(btn),74 action: '?/wImages/ImageUpload/',75 onUpload: function (fileName) {76 util.Alert('å¾çä¸ä¼ ä¸');77 },78 onComplete: function (fileName, response) {79 var Btn = $(this.button[0]);80 if (response.ret_code == 0) {81 var iid = parseInt(Btn.attr('data-id'));82 var src = decodeURIComponent(response.link);83 Btn.addClass('ove').removeClass('hover');84 util.Alert('å¾çä¸ä¼ æå');85 if (Btn.find('img').length > 0) {86 Btn.find('img').attr('src', response.ret_msg);87 Btn.find('.pd-image-view').attr('href', response.ret_msg);88 } else {89 Btn.append('<img src="' + response.ret_msg + '" /><a href="' + response.ret_msg + '" class="pd-image-view"> </a><i data-id=' + (iid - 1) + ' class="pd-image-delete"> </i>');90 }91 // ååé¦å¾92 if (!pdCatimg || iid === 0) {93 $('#pd-catimg').val(response.ret_msg);94 $('#catimgPv').attr('href', response.ret_msg);95 }96 if (iid !== 0) {97 pdImages[iid - 1] = response.ret_msg;98 }99 fnFancyBox('.pd-image-view');100 fnPdimageDelete();101 } else {102 util.Alert('ä¸ä¼ å¾ç失败');103 }104 }105 });106 $(this).hover(function () {107 if (!$(this).hasClass('ove')) {108 $(this).addClass('hover');109 }110 }, function () {111 if (!$(this).hasClass('ove')) {112 $(this).removeClass('hover');113 }114 });115 });116 // 产åé¦å¾117 if (pdCatimg) {118 $('.pd-image-sec').eq(0).addClass('ove').append('<img src="' + pdCatimg + '" />');119 $('#catimgPv').attr('href', pdCatimg);120 }121 $('body').css('overflow-x', 'hidden');122 // å¾çå·²ç»ä¸ä¼ è¿äºã123 $('#save_product_btn').unbind('click').click(__ProductAlterFinish);124 // å é¤å¾ç--125 function fnPdimageDelete() {126 $('.pd-image-delete').unbind('click').on('click', function () {127 var nP = $(this).parent();128 // å é¤å¾éæ°æ®129 pdImages[parseInt($(this).attr('data-id'))] = '';130 // å é¤æ è®°131 nP.removeClass('ove').find('i,img,.pd-image-view').remove();132 nP = null;133 });134 }135 /**136 * ååç¼è¾ç»æ137 * @returns {undefined}138 */139 function __ProductAlterFinish() {140 if (!loadingLock) {141 // discount142 entDisLastOpt = $('#pd-entprise').find("option:selected");143 $.each(entDiscount, function (i, n) {144 if (n.ent === parseInt(entDisLastOpt.val())) {145 n.discount = parseFloat($('#pd-ent-discount').val());146 }147 });148 var postData = $('#pd-baseinfo').serializeArray();149 var price = parseFloat($('#pd-form-prices').val());150 // è§æ ¼è¡¨æ£æ¥ èªå¨è¡¥0151 fnSpecCheck();152 util.loading();153 if ($('#pd-form-title').val() !== '' && price !== '') {154 loadingLock = true;155 // [HttpPost]156 $.post(shoproot + '?/WdminAjax/updateProduct', {157 product_id: !pdId ? 0 : pdId,158 product_infos: postData,159 product_prices: price > 0 ? price : 0,160 product_images: pdImages,161 entDiscount: entDiscount,162 spec: getSpecs()163 }, function (r) {164 util.loading(false);165 if (r.ret_code === 0) {166 loadingLock = false;167 if (!pdId) {168 pdId = r.ret_msg;169 util.Alert('æ·»å æå', false, function () {170 // è¿åå表171 history.go(-1);172 });173 } else {174 pdId = r.ret_msg;175 util.Alert('ä¿åæå');176 }177 } else {178 util.Alert('ä¿å失败,é误信æ¯ï¼' + r.ret_msg);179 }180 });181 } else {182 util.Alert('æ æ³æ交ï¼è¡¨åä¸å®æ´ã');183 }184 } else {185 }186 }187 /**188 * ååå é¤çå¬189 */190 util.pdDeleteListen();191 // ååè§æ ¼æ·»å æé®192 $('#pd-spec-add').click(function () {193 $('#pd-spec-frame').removeClass('hidden').css('margin-top', '15px');194 var tr = $('.specselect').eq(0).clone(false);195 tr.find('select option:selected').each(function () {196 this.selected = false;197 });198 tr.find('input').val(0);199 tr.attr('data-id', 0);200 tr.removeClass('hidden');201 $('#pd-spec-frame tbody').append(tr);202 fnSpecListen();203 tr = null;204 });205 /**206 * è·åååä»·æ ¼è¡¨207 * @returns {Array}208 */209 function getSpecs() {210 var spec = [];211 $('.specselect').each(function () {212 if ($(this).attr('data-id') !== '#') {213 spec.push({214 id: $(this).attr('data-id'),215 sid: $(this).find('.spec1').val() + '-' + $(this).find('.spec2').val(),216 price: parseFloat($(this).find('.pd-spec-prices').val()),217 market_price: parseFloat($(this).find('.pd-spec-market').val()),218 instock: parseFloat($(this).find('.pd-spec-stock').val())219 });220 }221 });222 return spec;223 }224 /**225 * è§æ ¼è¡¨èªå¨è¡¥0226 * @returns {undefined}227 */228 function fnSpecCheck() {229 $('.specselect input').each(function () {230 if ($(this).val() === '') {231 $(this).val(0);232 }233 });234 }235 // åå§å236 fnSpecCheck();237 fnSpecListen();238 /**239 * è§æ ¼è¡¨äºä»¶çå¬240 * @returns {undefined}241 */242 function fnSpecListen() {243 $('.btn-delete-spectr').unbind('click').bind('click', function () {244 var nParent = $(this).parents('tr');245 if (nParent.attr('data-id') > 0) {246 // èµå¼è´æ°è¡¨ç¤ºå é¤247 nParent.attr('data-id', nParent.attr('data-id') * -1);248 nParent.addClass('hidden');249 } else {250 // å¦åç´æ¥å é¤èç¹, ä¸ç¶ä¼ææ ææ°æ®251 nParent.remove();252 }253 });254 $('.spec1').unbind('change').bind('change', fnSpecChange);255 $('.spec1').change();256 }257 /**258 * è§æ ¼éæ©çå¬259 * @returns {undefined}260 */261 function fnSpecChange() {262 // é¿å
éå¤éæ©è§æ ¼263 var specId = +$(this).find('option:selected').attr('data-spec');264 $(this).parents('tr').eq(0).find('.spec2 option').each(function () {265 if (+$(this).attr('data-spec') === specId) {266 // å¤æç¶çº§267 this.disabled = true;268 } else {269 this.disabled = false;270 }271 });272 }273 /**274 * ueditor275 */276 uep = UM.getEditor('ueditorp', {277 autoHeight: true278 });279 uep.ready(function () {280 ueploaded = true;281 uep.setWidth("100%");282 });283 /**284 * window resize çå¬285 */286 util.onresize(function () {287 var _h = $('.pd-image-sec.ps20').eq(0).width();288 $('.pd-image-sec').each(function () {289 if ($(this).hasClass('ps20')) {290 $(this).height(_h);291 } else {292 $(this).height($(this).width());293 }294 });295 uep.setWidth("100%");296 });...
15.2.3.3-01.js
Source: 15.2.3.3-01.js
1/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */2/* This Source Code Form is subject to the terms of the Mozilla Public3 * License, v. 2.0. If a copy of the MPL was not distributed with this4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */5//-----------------------------------------------------------------------------6var BUGNUMBER = 505587;7var summary = 'ES5 Object.getOwnPropertyDescriptor(O)';8var actual = '';9var expect = '';10printBugNumber(BUGNUMBER);11printStatus (summary);12/**************13 * BEGIN TEST *14 **************/15function assertEq(a, e, msg)16{17 function SameValue(v1, v2)18 {19 if (v1 === 0 && v2 === 0)20 return 1 / v1 === 1 / v2;21 if (v1 !== v1 && v2 !== v2)22 return true;23 return v1 === v2;24 }25 if (!SameValue(a, e))26 {27 var stack = new Error().stack || "";28 throw "Assertion failed: got " + a + ", expected " + e +29 (msg ? ": " + msg : "") +30 (stack ? "\nStack:\n" + stack : "");31 }32}33function expectDescriptor(actual, expected)34{35 if (actual === undefined && expected === undefined)36 return;37 assertEq(typeof actual, "object");38 assertEq(typeof expected, "object");39 var fields =40 {41 value: true,42 get: true,43 set: true,44 enumerable: true,45 writable: true,46 configurable: true47 };48 for (var p in fields)49 assertEq(actual.hasOwnProperty(p), expected.hasOwnProperty(p), p);50 for (var p in actual)51 assertEq(p in fields, true, p);52 for (var p in expected)53 assertEq(p in fields, true, p);54 assertEq(actual.hasOwnProperty("value"), actual.hasOwnProperty("writable"));55 assertEq(actual.hasOwnProperty("get"), actual.hasOwnProperty("set"));56 if (actual.hasOwnProperty("value"))57 {58 assertEq(actual.value, expected.value);59 assertEq(actual.writable, expected.writable);60 }61 else62 {63 assertEq(actual.get, expected.get);64 assertEq(actual.set, expected.set);65 }66 assertEq(actual.hasOwnProperty("enumerable"), true);67 assertEq(actual.hasOwnProperty("configurable"), true);68 assertEq(actual.enumerable, expected.enumerable);69 assertEq(actual.configurable, expected.configurable);70}71function adjustDescriptorField(o, actual, expect, field)72{73 assertEq(field === "get" || field === "set", true);74 var lookup = "__lookup" + (field === "get" ? "G" : "S") + "etter";75 if (typeof o[lookup] === "function")76 expect[field] = o[lookup](field);77 else78 actual[field] = expect[field] = undefined; /* censor if we can't lookup */79}80/******************************************************************************/81var o, pd, expected;82o = { get x() { return 12; } };83pd = Object.getOwnPropertyDescriptor(o, "x");84expected =85 {86 set: undefined,87 enumerable: true,88 configurable: true89 };90adjustDescriptorField(o, pd, expected, "get");91expectDescriptor(pd, expected);92/******************************************************************************/93var o2;94o = Object.create(Object.prototype, { x: {get: function () { return 12; } } });95pd = Object.getOwnPropertyDescriptor(o, "x");96expected =97 {98 set: undefined,99 enumerable: false,100 configurable: false101 };102adjustDescriptorField(o, pd, expected, "get");103expectDescriptor(pd, expected);104o2 = Object.create(o);105assertEq(Object.getOwnPropertyDescriptor(o2, "x"), undefined);106/******************************************************************************/107o = {};108o.b = 12;109pd = Object.getOwnPropertyDescriptor(o, "b");110expected =111 {112 value: 12,113 writable: true,114 enumerable: true,115 configurable: true116 };117expectDescriptor(pd, expected);118/******************************************************************************/119o = { get y() { return 17; }, set y(z) { } };120pd = Object.getOwnPropertyDescriptor(o, "y");121expected =122 {123 enumerable: true,124 configurable: true125 };126adjustDescriptorField(o, pd, expected, "get");127adjustDescriptorField(o, pd, expected, "set");128expectDescriptor(pd, expected);129/******************************************************************************/130o = {};131pd = Object.getOwnPropertyDescriptor(o, "absent");132expectDescriptor(pd, undefined);133/******************************************************************************/134pd = Object.getOwnPropertyDescriptor([], "length");135expected =136 {137 value: 0,138 writable: true,139 enumerable: false,140 configurable: false141 };142expectDescriptor(pd, expected);143pd = Object.getOwnPropertyDescriptor([1], "length");144expected =145 {146 value: 1,147 writable: true,148 enumerable: false,149 configurable: false150 };151expectDescriptor(pd, expected);152pd = Object.getOwnPropertyDescriptor([1,], "length");153expected =154 {155 value: 1,156 writable: true,157 enumerable: false,158 configurable: false159 };160expectDescriptor(pd, expected);161pd = Object.getOwnPropertyDescriptor([1,,], "length");162expected =163 {164 value: 2,165 writable: true,166 enumerable: false,167 configurable: false168 };169expectDescriptor(pd, expected);170/******************************************************************************/171pd = Object.getOwnPropertyDescriptor(new String("foobar"), "length");172expected =173 {174 value: 6,175 writable: false,176 enumerable: false,177 configurable: false178 };179expectDescriptor(pd, expected);180/******************************************************************************/181function foo() { }182o = foo;183pd = Object.getOwnPropertyDescriptor(o, "length");184expected =185 {186 value: 0,187 writable: false,188 enumerable: false,189 configurable: true190 };191expectDescriptor(pd, expected);192pd = Object.getOwnPropertyDescriptor(o, "prototype");193expected =194 {195 value: foo.prototype,196 writable: true,197 enumerable: false,198 configurable: false199 };200expectDescriptor(pd, expected);201/******************************************************************************/202pd = Object.getOwnPropertyDescriptor(Function, "length");203expected =204 {205 value: 1,206 writable: false,207 enumerable: false,208 configurable: true209 };210expectDescriptor(pd, expected);211/******************************************************************************/212o = /foo/im;213pd = Object.getOwnPropertyDescriptor(o, "lastIndex");214expected =215 {216 value: 0,217 writable: true,218 enumerable: false,219 configurable: false220 };221expectDescriptor(pd, expected);222/******************************************************************************/223reportCompare(expect, actual, "Object.getOwnPropertyDescriptor");...
pdlist.js
Source: pdlist.js
1const pdlist = [2 {3 'id': 1,4 'pdImg': './static/mock/img/pd1.jpg',5 'pdName': 'ã1ã å
ç½è£
è·å
°ç¾ç´ ä½³å¿éè£
2段900g',6 'pdPrice': 1149.00,7 'pdSold': 6488 }, {9 'id': 2,10 'pdImg': './static/mock/img/pd2.jpg',11 'pdName': 'ã2ã é©å½Amoreç±èè红åæ´åæ°´å¥è£
ä¿®å¤åæåè´¨',12 'pdPrice': 89.00,13 'pdSold': 12814 }, {15 'id': 3,16 'pdImg': './static/mock/img/pd3.jpg',17 'pdName': 'ã3ã Frisoç¾ç´ ä½³å¿ éè£
å©´å¿é
æ¹å¥¶ç²3段900g',18 'pdPrice': 195.00,19 'pdSold': 96820 }, {21 'id': 4,22 'pdImg': './static/mock/img/pd4.jpg',23 'pdName': 'ã4ã Fisher pdPriceè´¹éª è´¹éªä¸è½®å¿ç«¥æ»è¡è½¦',24 'pdPrice': 299.00,25 'pdSold': 8526 }, {27 'id': 5,28 'pdImg': './static/mock/img/pd5.jpg',29 'pdName': 'ã5ã Babyleeå·´å¸å å®æ¨å©´å¿åº é·å¡æ130*70cm',30 'pdPrice': 1889.00,31 'pdSold': 1832 }, {33 'id': 6,34 'pdImg': './static/mock/img/pd6.jpg',35 'pdName': 'ã6ã Pigeonè´äº² ç¬ç«ä¸å±å¥¶ç²ç éå°ç½å¥¶ç²1段200g',36 'pdPrice': 70.00,37 'pdSold': 65838 }, {39 'id': 7,40 'pdImg': './static/mock/img/pd7.jpg',41 'pdName': 'ã7ã TTBOOå
å
å°å¸ è©çº½æ£å¥è£
',42 'pdPrice': 268.00,43 'pdSold': 12844 }, {45 'id': 8,46 'pdImg': './static/mock/img/pd8.jpg',47 'pdName': 'ã8ã Nunaçæ å©´å¿å¸éå¥æ精纯嫩è¤æ²æµ´é²å©´å¿ç²¾çº¯è¦èè¶',48 'pdPrice': 140.00,49 'pdSold': 36650 }, {51 'id': 9,52 'pdImg': './static/mock/img/pd9.jpg',53 'pdName': 'ã9ã illumaå¯èµ 奶ç²3段900g',54 'pdPrice': 252.00,55 'pdSold': 9856 }, {57 'id': 10,58 'pdImg': './static/mock/img/pd10.jpg',59 'pdName': 'ã10ã Abbotté
å¹ä¹³èç½é¨å水解婴å¿é
æ¹å¥¶ç²3段820g',60 'pdPrice': 89.00,61 'pdSold': 12862 }, {63 'id': 11,64 'pdImg': './static/mock/img/pd11.jpg',65 'pdName': 'ã11ã é©è é
·ç«åèï¼ç¤¼çå¥è£
ï¼2.8g*4',66 'pdPrice': 179.00,67 'pdSold': 3568 }, {69 'id': 12,70 'pdImg': './static/mock/img/pd12.jpg',71 'pdName': 'ã12ã ä¿ç¨åºç´åã3å
è£
ãæ¥æ¬Merriesè±ç纸尿裤NB90',72 'pdPrice': 289.00,73 'pdSold': 192874 }, {75 'id': 13,76 'pdImg': './static/mock/img/pd13.jpg',77 'pdName': 'ã13ã Comotomoå¯ä¹å¤ä¹ ç¡
è¶å¥¶ç¶ï¼0-3æ奶å´ï¼150ml绿è²',78 'pdPrice': 203.00,79 'pdSold': 8780 }, {81 'id': 14,82 'pdImg': './static/mock/img/pd14.jpg',83 'pdName': 'ã14ã é¦æ¸¯ç´é®å¾·å½çå¾·é²Rival de Loopè¦èç²¾åå®ç¶',84 'pdPrice': 152.00,85 'pdSold': 6186 }, {87 'id': 15,88 'pdImg': './static/mock/img/pd15.jpg',89 'pdName': 'ã15ã ä¿ç¨åºç´åè¯å¸å å°é©¬æ²¹é¦èå³æ¸©åä¿æ¹¿æ åºæ¿é¢é',90 'pdPrice': 269.00,91 'pdSold': 7392 }, {93 'id': 16,94 'pdImg': './static/mock/img/pd16.jpg',95 'pdName': 'ã16ã é¦æ¸¯ç´é®æ¥æ¬Spatreatmentç¼èä¿æ¹¿å»ç»çº¹æ³ä»¤çº¹',96 'pdPrice': 219.00,97 'pdSold': 1398 }, {99 'id': 17,100 'pdImg': './static/mock/img/pd17.jpg',101 'pdName': 'ã17ã é©å½MEDIHEALNMFå¯è±ä¸éåç¡ç é¢è',102 'pdPrice': 81.00,103 'pdSold': 128104 }, {105 'id': 18,106 'pdImg': './static/mock/img/pd18.jpg',107 'pdName': 'ã18ã DHCè¶ç¿ è¯æ©æ¦èèæ»å
»æ´è¸æå·¥ç90g',108 'pdPrice': 123.00,109 'pdSold': 77110 }, {111 'id': 19,112 'pdImg': './static/mock/img/pd19.jpg',113 'pdName': 'ã19ã æ¥æ¬èµçå CPBèè¤ä¹é¥æ°çé离é æ¸
ç½å 30ml',114 'pdPrice': 429.00,115 'pdSold': 36116 }, {117 'id': 20,118 'pdImg': './static/mock/img/pd20.jpg',119 'pdName': 'ã20ã Heinzäº¨æ° å©´å¿é¢æ¡ä¼å é¢æ¡å
¨ç´ å¥é¤ç»å3å£å³3ç',120 'pdPrice': 39.00,121 'pdSold': 61122 }, {123 'id': 21,124 'pdImg': './static/mock/img/pd21.jpg',125 'pdName': 'ã21ã Heinzäº¨æ° ä¹ç»´æ»ææ±æ³¥ç»å5å£å³15è¢',126 'pdPrice': 69.00,127 'pdSold': 55128 }, {129 'id': 22,130 'pdImg': './static/mock/img/pd22.jpg',131 'pdName': 'ã22ã ä¿ç¨åºç´å澳大å©äºSwisseé«æµåº¦èè¶èè¶å30ç²',132 'pdPrice': 271.00,133 'pdSold': 19134 }, {135 'id': 23,136 'pdImg': './static/mock/img/pd23.jpg',137 'pdName': 'ã23ã æªå¨Nordic Naturalså°é±¼å©´å¹¼å¿é±¼æ²¹DHAæ»´å',138 'pdPrice': 102.00,139 'pdSold': 125140 }, {141 'id': 24,142 'pdImg': './static/mock/img/pd24.jpg',143 'pdName': 'ã24ã 澳大å©äºBio island DHA for Pregnancyæµ·è»æ²¹DHA',144 'pdPrice': 289.00,145 'pdSold': 28146 }, {147 'id': 25,148 'pdImg': './static/mock/img/pd25.jpg',149 'pdName': 'ã25ã 澳大å©äºFatblaster Coconut Detox椰åæ°´',150 'pdPrice': 152.00,151 'pdSold': 17152 }, {153 'id': 26,154 'pdImg': './static/mock/img/pd26.jpg',155 'pdName': 'ã26ã Suitskyèæ¯å¥ é«æ¤æèèç½çº¸å°¿çå°¿ä¸æ¹¿XL60',156 'pdPrice': 99.00,157 'pdSold': 181158 }, {159 'id': 27,160 'pdImg': './static/mock/img/pd27.jpg',161 'pdName': 'ã27ã è±å½JUST SOAPæå·¥ç ç«ç°å¤©ç«ºèµèç³ç',162 'pdPrice': 72.00,163 'pdSold': 66164 }, {165 'id': 28,166 'pdImg': './static/mock/img/pd28.jpg',167 'pdName': 'ã28ã å¾·å½NUK å¤è²å©´å¹¼å¿å¸¦çå¦é¥®æ¯',168 'pdPrice': 92.00,169 'pdSold': 138170 }171]...
pdlist1.js
Source: pdlist1.js
1var pdlist1=[2 {3 "pdImg": "../res/img/pd1.jpg",4 "pdName": "ã1ã å
ç½è£
è·å
°ç¾ç´ ä½³å¿éè£
2段900g",5 "pdPrice": 1149.00,6 "pdSold": 6487 }, {8 "pdImg": "../res/img/pd2.jpg",9 "pdName": "ã2ã é©å½Amoreç±èè红åæ´åæ°´å¥è£
ä¿®å¤åæåè´¨",10 "pdPrice": 89.00,11 "pdSold": 12812 }, {13 "pdImg": "../res/img/pd3.jpg",14 "pdName": "ã3ã Frisoç¾ç´ ä½³å¿ éè£
å©´å¿é
æ¹å¥¶ç²3段900g",15 "pdPrice": 195.00,16 "pdSold": 96817 }, {18 "pdImg": "../res/img/pd4.jpg",19 "pdName": "ã4ã Fisher pdPriceè´¹éª è´¹éªä¸è½®å¿ç«¥æ»è¡è½¦",20 "pdPrice": 299.00,21 "pdSold": 8522 }, {23 "pdImg": "../res/img/pd5.jpg",24 "pdName": "ã5ã Babyleeå·´å¸å å®æ¨å©´å¿åº é·å¡æ130*70cm",25 "pdPrice": 1889.00,26 "pdSold": 1827 }, {28 "pdImg": "../res/img/pd6.jpg",29 "pdName": "ã6ã Pigeonè´äº² ç¬ç«ä¸å±å¥¶ç²ç éå°ç½å¥¶ç²1段200g",30 "pdPrice": 70.00,31 "pdSold": 65832 }, {33 "pdImg": "../res/img/pd7.jpg",34 "pdName": "ã7ã TTBOOå
å
å°å¸ è©çº½æ£å¥è£
",35 "pdPrice": 268.00,36 "pdSold": 12837 }, {38 "pdImg": "../res/img/pd8.jpg",39 "pdName": "ã8ã Nunaçæ å©´å¿å¸éå¥æ精纯嫩è¤æ²æµ´é²å©´å¿ç²¾çº¯è¦èè¶",40 "pdPrice": 140.00,41 "pdSold": 36642 }, {43 "pdImg": "../res/img/pd9.jpg",44 "pdName": "ã9ã illumaå¯èµ 奶ç²3段900g",45 "pdPrice": 252.00,46 "pdSold": 9847 }, {48 "pdImg": "../res/img/pd10.jpg",49 "pdName": "ã10ã Abbotté
å¹ä¹³èç½é¨å水解婴å¿é
æ¹å¥¶ç²3段820g",50 "pdPrice": 89.00,51 "pdSold": 12852 }, {53 "pdImg": "../res/img/pd11.jpg",54 "pdName": "ã11ã é©è é
·ç«åèï¼ç¤¼çå¥è£
ï¼2.8g*4",55 "pdPrice": 179.00,56 "pdSold": 3557 }, {58 "pdImg": "../res/img/pd12.jpg",59 "pdName": "ã12ã ä¿ç¨åºç´åã3å
è£
ãæ¥æ¬Merriesè±ç纸尿裤NB90",60 "pdPrice": 289.00,61 "pdSold": 192862 }, {63 "pdImg": "../res/img/pd13.jpg",64 "pdName": "ã13ã Comotomoå¯ä¹å¤ä¹ ç¡
è¶å¥¶ç¶ï¼0-3æ奶å´ï¼150ml绿è²",65 "pdPrice": 203.00,66 "pdSold": 8767 }, {68 "pdImg": "../res/img/pd14.jpg",69 "pdName": "ã14ã é¦æ¸¯ç´é®å¾·å½çå¾·é²Rival de Loopè¦èç²¾åå®ç¶",70 "pdPrice": 152.00,71 "pdSold": 6172 }, {73 "pdImg": "../res/img/pd15.jpg",74 "pdName": "ã15ã ä¿ç¨åºç´åè¯å¸å å°é©¬æ²¹é¦èå³æ¸©åä¿æ¹¿æ åºæ¿é¢é",75 "pdPrice": 269.00,76 "pdSold": 7377 }, {78 "pdImg": "../res/img/pd16.jpg",79 "pdName": "ã16ã é¦æ¸¯ç´é®æ¥æ¬Spatreatmentç¼èä¿æ¹¿å»ç»çº¹æ³ä»¤çº¹",80 "pdPrice": 219.00,81 "pdSold": 1382 }, {83 "pdImg": "../res/img/pd17.jpg",84 "pdName": "ã17ã é©å½MEDIHEALNMFå¯è±ä¸éåç¡ç é¢è",85 "pdPrice": 81.00,86 "pdSold": 12887 }, {88 "pdImg": "../res/img/pd18.jpg",89 "pdName": "ã18ã DHCè¶ç¿ è¯æ©æ¦èèæ»å
»æ´è¸æå·¥ç90g",90 "pdPrice": 123.00,91 "pdSold": 7792 }, {93 "pdImg": "../res/img/pd19.jpg",94 "pdName": "ã19ã æ¥æ¬èµçå CPBèè¤ä¹é¥æ°çé离é æ¸
ç½å 30ml",95 "pdPrice": 429.00,96 "pdSold": 3697 }, {98 "pdImg": "../res/img/pd20.jpg",99 "pdName": "ã20ã Heinzäº¨æ° å©´å¿é¢æ¡ä¼å é¢æ¡å
¨ç´ å¥é¤ç»å3å£å³3ç",100 "pdPrice": 39.00,101 "pdSold": 61102 }, {103 "pdImg": "../res/img/pd21.jpg",104 "pdName": "ã21ã Heinzäº¨æ° ä¹ç»´æ»ææ±æ³¥ç»å5å£å³15è¢",105 "pdPrice": 69.00,106 "pdSold": 55107 }, {108 "pdImg": "../res/img/pd22.jpg",109 "pdName": "ã22ã ä¿ç¨åºç´å澳大å©äºSwisseé«æµåº¦èè¶èè¶å30ç²",110 "pdPrice": 271.00,111 "pdSold": 19112 }, {113 "pdImg": "../res/img/pd23.jpg",114 "pdName": "ã23ã æªå¨Nordic Naturalså°é±¼å©´å¹¼å¿é±¼æ²¹DHAæ»´å",115 "pdPrice": 102.00,116 "pdSold": 125117 }, {118 "pdImg": "../res/img/pd24.jpg",119 "pdName": "ã24ã 澳大å©äºBio island DHA for Pregnancyæµ·è»æ²¹DHA",120 "pdPrice": 289.00,121 "pdSold": 28122 }, {123 "pdImg": "../res/img/pd25.jpg",124 "pdName": "ã25ã 澳大å©äºFatblaster Coconut Detox椰åæ°´",125 "pdPrice": 152.00,126 "pdSold": 17127 }, {128 "pdImg": "../res/img/pd26.jpg",129 "pdName": "ã26ã Suitskyèæ¯å¥ é«æ¤æèèç½çº¸å°¿çå°¿ä¸æ¹¿XL60",130 "pdPrice": 99.00,131 "pdSold": 181132 }, {133 "pdImg": "../res/img/pd27.jpg",134 "pdName": "ã27ã è±å½JUST SOAPæå·¥ç ç«ç°å¤©ç«ºèµèç³ç",135 "pdPrice": 72.00,136 "pdSold": 66137 }, {138 "pdImg": "../res/img/pd28.jpg",139 "pdName": "ã28ã å¾·å½NUK å¤è²å©´å¹¼å¿å¸¦çå¦é¥®æ¯",140 "pdPrice": 92.00,141 "pdSold": 138142 }...
pdlist2.js
Source: pdlist2.js
1var pdlist2=[2 {3 "pdImg": "../res/img/pd3.jpg",4 "pdName": "ã3ã ç¾ç´ ä½³å¿Frisoå©´å¿é
æ¹å¥¶ç²3段 ( ååã1ãã2ã å·²å é¤ )",5 "pdPrice": 177.00,6 "pdSold": 10237 }, {8 "pdImg": "../res/img/pd4.jpg",9 "pdName": "ã4ã æ¯äººéè´1è¾ è´¹éªæ»è¡è½¦",10 "pdPrice": 189.00,11 "pdSold": 19912 }, {13 "pdImg": "../res/img/pd5.jpg",14 "pdName": "ã5ã å·´å¸åå®æ¨å©´å¿åº",15 "pdPrice": 1800.00,16 "pdSold": 7217 }, {18 "pdImg": "../res/img/pd6.jpg",19 "pdName": "ã6ã è´äº²å¥¶ç²ç",20 "pdPrice": 98.00,21 "pdSold": 67722 }, {23 "pdImg": "../res/img/pd7.jpg",24 "pdName": "ã7ã å
å
å°å¸è©çº½æ£å¥è£
",25 "pdPrice": 277.00,26 "pdSold": 16627 }, {28 "pdImg": "../res/img/pd8.jpg",29 "pdName": "ã8ã çæå©´å¿æ²æµ´é²",30 "pdPrice": 155.00,31 "pdSold": 34332 }, {33 "pdImg": "../res/img/pd9.jpg",34 "pdName": "ã9ã å¯èµilluma 奶ç²3段900g",35 "pdPrice": 238.00,36 "pdSold": 10237 }, {38 "pdImg": "../res/img/pd10.jpg",39 "pdName": "ã10ã é
å¹Abbottä¹³èç½é¨å水解婴å¿é
æ¹å¥¶ç²3段820g",40 "pdPrice": 91.00,41 "pdSold": 13542 }, {43 "pdImg": "../res/img/pd11.jpg",44 "pdName": "ã11ã é©è é
·ç«åèï¼ç¤¼çå¥è£
ï¼2.8g*4",45 "pdPrice": 151.00,46 "pdSold": 12347 }, {48 "pdImg": "../res/img/pd12.jpg",49 "pdName": "ã12ã ä¿ç¨åºç´åã3å
è£
ãæ¥æ¬Merriesè±ç纸尿裤NB90",50 "pdPrice": 292.00,51 "pdSold": 193352 }, {53 "pdImg": "../res/img/pd13.jpg",54 "pdName": "ã13ã Comotomoå¯ä¹å¤ä¹ ç¡
è¶å¥¶ç¶ï¼0-3æ奶å´ï¼150ml绿è²",55 "pdPrice": 245.00,56 "pdSold": 9557 }, {58 "pdImg": "../res/img/pd14.jpg",59 "pdName": "ã14ã é¦æ¸¯ç´é®å¾·å½çå¾·é²Rival de Loopè¦èç²¾åå®ç¶",60 "pdPrice": 163.00,61 "pdSold": 7562 }, {63 "pdImg": "../res/img/pd15.jpg",64 "pdName": "ã15ã ä¿ç¨åºç´åè¯å¸å å°é©¬æ²¹é¦èå³æ¸©åä¿æ¹¿æ åºæ¿é¢é",65 "pdPrice": 259.00,66 "pdSold": 8667 }, {68 "pdImg": "../res/img/pd16.jpg",69 "pdName": "ã16ã é¦æ¸¯ç´é®æ¥æ¬Spatreatmentç¼èä¿æ¹¿å»ç»çº¹æ³ä»¤çº¹",70 "pdPrice": 237.00,71 "pdSold": 5872 }, {73 "pdImg": "../res/img/pd17.jpg",74 "pdName": "ã17ã é©å½MEDIHEALNMFå¯è±ä¸éåç¡ç é¢è",75 "pdPrice": 81.00,76 "pdSold": 13577 }, {78 "pdImg": "../res/img/pd18.jpg",79 "pdName": "ã18ã DHCè¶ç¿ è¯æ©æ¦èèæ»å
»æ´è¸æå·¥ç90g",80 "pdPrice": 123.00,81 "pdSold": 8782 }, {83 "pdImg": "../res/img/pd19.jpg",84 "pdName": "ã19ã æ¥æ¬èµçå CPBèè¤ä¹é¥æ°çé离é æ¸
ç½å 30ml",85 "pdPrice": 429.00,86 "pdSold": 4587 }, {88 "pdImg": "../res/img/pd20.jpg",89 "pdName": "ã20ã Heinzäº¨æ° å©´å¿é¢æ¡ä¼å é¢æ¡å
¨ç´ å¥é¤ç»å3å£å³3ç",90 "pdPrice": 39.00,91 "pdSold": 3292 }, {93 "pdImg": "../res/img/pd21.jpg",94 "pdName": "ã21ã Heinzäº¨æ° ä¹ç»´æ»ææ±æ³¥ç»å5å£å³15è¢",95 "pdPrice": 64.00,96 "pdSold": 7597 }, {98 "pdImg": "../res/img/pd22.jpg",99 "pdName": "ã22ã ä¿ç¨åºç´å澳大å©äºSwisseé«æµåº¦èè¶èè¶å30ç²",100 "pdPrice": 271.00,101 "pdSold": 12102 }, {103 "pdImg": "../res/img/pd23.jpg",104 "pdName": "ã23ã æªå¨Nordic Naturalså°é±¼å©´å¹¼å¿é±¼æ²¹DHAæ»´å",105 "pdPrice": 175.00,106 "pdSold": 111107 }, {108 "pdImg": "../res/img/pd24.jpg",109 "pdName": "ã24ã 澳大å©äºBio island DHA for Pregnancyæµ·è»æ²¹DHA",110 "pdPrice": 289.00,111 "pdSold": 28112 }, {113 "pdImg": "../res/img/pd25.jpg",114 "pdName": "ã25ã 澳大å©äºFatblaster Coconut Detox椰åæ°´",115 "pdPrice": 152.00,116 "pdSold": 17117 }, {118 "pdImg": "../res/img/pd26.jpg",119 "pdName": "ã26ã Suitskyèæ¯å¥ é«æ¤æèèç½çº¸å°¿çå°¿ä¸æ¹¿XL60",120 "pdPrice": 99.00,121 "pdSold": 181122 }, {123 "pdImg": "../res/img/pd27.jpg",124 "pdName": "ã27ã è±å½JUST SOAPæå·¥ç ç«ç°å¤©ç«ºèµèç³ç",125 "pdPrice": 72.00,126 "pdSold": 66127 }, {128 "pdImg": "../res/img/pd28.jpg",129 "pdName": "ã28ã å¾·å½NUK å¤è²å©´å¹¼å¿å¸¦çå¦é¥®æ¯",130 "pdPrice": 92.00,131 "pdSold": 138132 }...
Using AI Code Generation
1const { Playwright } = require('playwright');2const playwright = new Playwright();3const { chromium } = playwright;4const browser = await chromium.launch();5const context = await browser.newContext();6const page = await context.newPage();7await page.pd('test');8const { Playwright } = require('playwright');9const playwright = new Playwright();10const { chromium } = playwright;11const browser = await chromium.launch();12const context = await browser.newContext();13const page = await context.newPage();14await page.pd('test');15const { Playwright } = require('playwright');16const playwright = new Playwright();17const { chromium } = playwright;18const browser = await chromium.launch();19const context = await browser.newContext();20const page = await context.newPage();21await page.pd('test');22const { Playwright } = require('playwright');23const playwright = new Playwright();24const { chromium } = playwright;25const browser = await chromium.launch();26const context = await browser.newContext();27const page = await context.newPage();28await page.pd('test');29const { Playwright } = require('playwright');30const playwright = new Playwright();31const { chromium } = playwright;32const browser = await chromium.launch();33const context = await browser.newContext();34const page = await context.newPage();35await page.pd('test');36const { Playwright } = require('playwright');37const playwright = new Playwright();38const { chromium } = playwright;39const browser = await chromium.launch();40const context = await browser.newContext();41const page = await context.newPage();42await page.pd('test');
Using AI Code Generation
1const { Playwright } = require('playwright');2const playwright = new Playwright();3const { chromium } = playwright;4const browser = await chromium.launch();5const context = await browser.newContext();6const page = await context.newPage();7const pd = await page.evaluateHandle(() => window.pd);8await pd.evaluate(async () => {9 await pd.playwright.page.evaluate(() => {10 console.log(‘Hello World’);11 });12});13await browser.close();14await playwright.stop();15const { Playwright } = require('playwright');16const playwright = new Playwright();17const { chromium } = playwright;18const browser = await chromium.launch();19const context = await browser.newContext();20const page = await context.newPage();21const pd = await page.evaluateHandle(() => window.pd);22await pd.evaluate(async () => {23 await pd.playwright.page.evaluate(() => {24 console.log(‘Hello World’);25 });26});27await browser.close();28await playwright.stop();29const { Playwright } = require('playwright');30const playwright = new Playwright();31const { chromium } = playwright;32const browser = await chromium.launch();33const context = await browser.newContext();34const page = await context.newPage();35const pd = await page.evaluateHandle(() => window.pd);36await pd.evaluate(async () => {37 await pd.playwright.page.evaluate(() => {38 console.log(‘Hello World’);39 });40});41await browser.close();42await playwright.stop();43const { Playwright } = require('playwright');44const playwright = new Playwright();45const { chromium
Using AI Code Generation
1const { PlaywrightInternal } = require('playwright-internal');2(async () => {3 const playwright = new PlaywrightInternal();4 const browser = await playwright.chromium.launch({ headless: false });5 const page = await browser.newPage();6 await page.screenshot({ path: 'google.png' });7 await browser.close();8})();9const { chromium } = require('playwright');10(async () => {11 const browser = await chromium.launch({ headless: false });12 const page = await browser.newPage();13 await page.screenshot({ path: 'google.png' });14 await browser.close();15})();16const { chromium } = require('playwright');17(async () => {18 const browser = await chromium.launch({ headless: false });19 const page = await browser.newPage();20 await page.screenshot({ path: 'google.png' });21 await browser.close();22})();23const { chromium } = require('playwright');24(async () => {25 const browser = await chromium.launch({ headless: false });26 const page = await browser.newPage();27 await page.screenshot({ path: 'google.png' });28 await browser.close();29})();30const { chromium } = require('playwright');31(async () => {32 const browser = await chromium.launch({ headless: false });33 const page = await browser.newPage();34 await page.screenshot({ path: 'google.png' });35 await browser.close();36})();37const { chromium } = require('playwright');38(async () => {39 const browser = await chromium.launch({ headless: false });40 const page = await browser.newPage();41 await page.screenshot({ path: 'google.png' });42 await browser.close();43})();44const { chromium } = require('playwright');45(async () => {
Using AI Code Generation
1const { Playwright } = require('playwright');2(async () => {3const playwright = await Playwright.create();4const browser = await playwright.chromium.launch();5const page = await browser.newPage();6await page.screenshot({ path: 'google.png' });7await browser.close();8await playwright.stop();9})();
Using AI Code Generation
1const { PlaywrightInternal } = require('playwright');2const { Playwright } = require('playwright');3const { chromium } = require('playwright');4const { firefox } = require('playwright');5const { webkit } = require('playwright');6const { devices } = require('playwright');7const { BrowserType } = require('playwright');8const { Browser } = require('playwright');9const { BrowserContext } = require('playwright');10const { Page } = require('playwright');11const { Frame } = require('playwright');12const { Route } = require('playwright');13const { WebSocket } = require('playwright');14const { Request } = require('playwright');15const { Response } = require('playwright');16const { JSHandle } = require('playwright');17const { ElementHandle } = require('playwright');18const { FileChooser } = require('playwright');19const { ConsoleMessage } = require('playwright');20const { Dialog } = require('playwright');21const { Download } = require('playwright');22const { TimeoutError } = require('playwright');23const { Error } = require('playwright');24const { BrowserContextOptions } = require('playwright');25const { LaunchOptions } = require('playwright');26const { BrowserTypeLaunchOptions } = require('playwright');27const { BrowserServerOptions } = require('playwright');28const { ConnectOptions } = require('playwright');29const { BrowserContextOptions } = require('playwright');30const { BrowserTypeConnectOptions } = require('playwright');
Using AI Code Generation
1const { PlaywrightInternal } = require('playwright-core/lib/server/playwright');2const { Playwright } = require('playwright-core');3const path = require('path');4const os = require('os');5const playwright = new PlaywrightInternal(path.join(__dirname, 'node_modules', 'playwright-core'));6const { chromium } = require('playwright-core');7const browser = chromium.launch();8const context = browser.newContext();9(async () => {10 const browser = await playwright.chromium.launch();11 const page = await browser.newPage();12 await browser.close();13})();14(async () => {15 const browser = await playwright.edge.launch();16 const page = await browser.newPage();17 await browser.close();18})();19(async () => {20 const browser = await playwright.firefox.launch();21 const page = await browser.newPage();22 await browser.close();23})();24(async () => {25 const browser = await playwright.webkit.launch();26 const page = await browser.newPage();27 await browser.close();28})();29(async () => {30 const browser = await playwright.firefox.launch();31 const page = await browser.newPage();32 await browser.close();33})();34(async () => {35 const browser = await playwright.webkit.launch();36 const page = await browser.newPage();37 await browser.close();38})();39(async () => {40 const browser = await playwright.webkit.launch();41 const page = await browser.newPage();42 await browser.close();43})();44(async () => {45 const browser = await playwright.webkit.launch();46 const page = await browser.newPage();47 await browser.close();48})();49(async () => {50 const browser = await playwright.webkit.launch();51 const page = await browser.newPage();
Using AI Code Generation
1const playwright = require('playwright');2const { Pd } = require('playwright-test');3const { test, expect } = require('@playwright/test');4test.describe('Playwright Test', () => {5 test('should work', async ({ page }) => {6 const title = page.locator('text=Get started');7 await expect(title).toBeVisible();8 await Pd().close();9 });10});11const playwright = require('playwright');12const { test, expect } = require('@playwright/test');13test.describe('Playwright Test', () => {14 test('should work', async ({ page }) => {15 const title = page.locator('text=Get started');16 await expect(title).toBeVisible();17 await page.context().close();18 });19});20const playwright = require('playwright');21const { test, expect } = require('@playwright/test');22test.describe('Playwright Test', () => {23 test('should work', async ({ page }) => {24 const title = page.locator('text=Get started');25 await expect(title).toBeVisible();26 await page.context().browser().close();27 });28});29const playwright = require('playwright');30const { test, expect } = require('@playwright/test');31test.describe('Playwright Test', () => {32 test('should work', async ({ page }) => {33 const title = page.locator('text=Get started');34 await expect(title).toBeVisible();35 await page.context().browser().close();36 });37});38const playwright = require('playwright');39const { test, expect } = require('@playwright/test');40test.describe('Playwright Test', () => {41 test('should work', async ({ page }) => {42 const title = page.locator('text=Get started');43 await expect(title).toBeVisible();44 await page.context().browser().close();45 });46});
Using AI Code Generation
1const { Playwright } = require('playwright');2const { Pd } = Playwright;3const pd = Pd.create();4const browser = await pd.launchBrowser();5const context = await browser.newContext();6const page = await context.newPage();7const title = await page.title();8console.log(title);9await browser.close();
Using AI Code Generation
1const { Pd } = require('playwright-internal');2const pd = new Pd();3pd.playwrightPath = '/path/to/playwright';4pd.playwrightVersion = '1.1.1';5pd.playwrightBrowserType = 'chromium';6pd.playwrightChannel = 'chrome';7pd.playwrightBrowserOptions = {8};9pd.playwrightBrowserArgs = [];10pd.playwrightBrowserEnv = {};11pd.playwrightBrowserExecutablePath = null;12pd.playwrightBrowserDownloadsPath = null;13pd.playwrightBrowserSandbox = true;14pd.playwrightBrowserViewport = null;15pd.playwrightBrowserIgnoreHTTPSErrors = false;16pd.playwrightBrowserSlowMo = 0;17pd.playwrightBrowserTimeout = 30000;18pd.playwrightBrowserCloseOnExit = true;19pd.playwrightBrowserPersistentContext = false;20pd.playwrightBrowserPersistentContextStorageState = null;21pd.playwrightBrowserPersistentContextStorageStatePath = null;22pd.playwrightBrowserPersistentContextStorageStateSize = null;23pd.playwrightBrowserPersistentContextStorageStateOrigin = null;24pd.playwrightBrowserPersistentContextStorageStateOriginKey = null;25pd.playwrightBrowserPersistentContextStorageStateOriginValue = null;26pd.playwrightBrowserPersistentContextStorageStateOriginValueRegex = null;27pd.playwrightBrowserPersistentContextStorageStateOriginValueRegexFlags = null;28pd.playwrightBrowserPersistentContextStorageStateOriginValueRegexReplace = null;29pd.playwrightBrowserPersistentContextStorageStateOriginValueRegexReplaceFlags = null;30pd.playwrightBrowserPersistentContextStorageStateOriginValueRegexReplaceValue = null;31pd.playwrightBrowserPersistentContextStorageStateOriginValueRegexReplaceValueFlags = null;32pd.playwrightBrowserPersistentContextStorageStateOriginValueRegexReplaceValueRegex = null;33pd.playwrightBrowserPersistentContextStorageStateOriginValueRegexReplaceValueRegexFlags = null;34pd.playwrightBrowserPersistentContextStorageStateOriginValueRegexReplaceValueRegexReplace = null;35pd.playwrightBrowserPersistentContextStorageStateOriginValueRegexReplaceValueRegexReplaceFlags = null;36pd.playwrightBrowserPersistentContextStorageStateOriginValueRegexReplaceValueRegexReplaceValue = null;37pd.playwrightBrowserPersistentContextStorageStateOriginValueRegexReplaceValueRegexReplaceValueFlags = null;38pd.playwrightBrowserPersistentContextStorageStateOriginValueRegexReplaceValueRegexReplaceValueRegex = null;39pd.playwrightBrowserPersistentContextStorageStateOriginValueRegexReplaceValueRegexReplaceValueRegexFlags = null;
Using AI Code Generation
1const { Pd } = require('playwright');2const pd = new Pd();3pd.setConfig({ headless: false });4pd.launchBrowser();5pd.launchPage();6pd.launchContext();7pd.launchFrame();8pd.launchElement();9pd.launchElementHandle();10pd.launchJSHandle();11pd.launchExecutionContext();12pd.launchConsoleMessage();13pd.launchDialog();14pd.launchRequest();15pd.launchResponse();16pd.launchRoute();17pd.launchWorker();18pd.launchPageProxy();19pd.launchRequestProxy();20pd.launchResponseProxy();21pd.launchRouteProxy();22pd.launchWebSocket();23pd.launchWebSocketProxy();24pd.launchFileChooser();25pd.launchDownload();26pd.launchTimeoutError();27pd.launchWaitTask();28pd.launchBrowserType();29pd.launchBrowserContext();30pd.launchBrowserServer();31pd.launchBrowserFetcher();32pd.launchBrowserTypeLaunchOptions();33pd.launchBrowserTypeConnectOptions();34pd.launchBrowserTypeLaunchPersistentContextOptions();35pd.launchBrowserTypeLaunchServerOptions();36pd.launchBrowserTypeLaunchPersistentServerOptions();37pd.launchBrowserTypeLaunchPersistentContextOptions();38pd.launchBrowserContextOptions();39pd.launchBrowserContextProxy();40pd.launchBrowserContextCookies();41pd.launchBrowserContextAddCookiesOptions();42pd.launchBrowserContextClearCookiesOptions();43pd.launchBrowserContextGrantPermissionsOptions();44pd.launchBrowserContextClearPermissionsOptions();45pd.launchBrowserContextSetGeolocationOptions();46pd.launchBrowserContextSetExtraHTTPHeadersOptions();47pd.launchBrowserContextSetHTTPCredentialsOptions();48pd.launchBrowserContextSetOfflineOptions();49pd.launchBrowserContextSetHTTPCacheEnabledOptions();50pd.launchBrowserContextAddInitScriptOptions();51pd.launchBrowserContextExposeBindingOptions();52pd.launchBrowserContextExposeFunctionOptions();53pd.launchBrowserContextRouteOptions();54pd.launchBrowserContextUnrouteOptions();55pd.launchBrowserContextWaitForEventOptions();56pd.launchBrowserContextWaitForLoadStateOptions();57pd.launchBrowserContextWaitForNavigationOptions();58pd.launchBrowserContextWaitForRequestOptions();59pd.launchBrowserContextWaitForResponseOptions();60pd.launchBrowserContextWaitForSelectorOptions();61pd.launchBrowserContextWaitForTimeoutOptions();62pd.launchBrowserContextWaitForURLOptions();63pd.launchBrowserContextWaitForFunctionOptions();64pd.launchBrowserContextEmulateMediaOptions();65pd.launchBrowserContextEmulateTimezoneOptions();66pd.launchBrowserContextEmulateOptions();67pd.launchBrowserContextEmulateMediaOptions();68pd.launchBrowserContextEmulateTimezoneOptions();69pd.launchBrowserContextEmulateOptions();70pd.launchBrowserContextPdfOptions();71pd.launchBrowserContextScreenshotOptions();72pd.launchBrowserContextStorageStateOptions();
Jest + Playwright - Test callbacks of event-based DOM library
firefox browser does not start in playwright
Is it possible to get the selector from a locator object in playwright?
How to run a list of test suites in a single file concurrently in jest?
Running Playwright in Azure Function
firefox browser does not start in playwright
This question is quite close to a "need more focus" question. But let's try to give it some focus:
Does Playwright has access to the cPicker object on the page? Does it has access to the window object?
Yes, you can access both cPicker and the window object inside an evaluate call.
Should I trigger the events from the HTML file itself, and in the callbacks, print in the DOM the result, in some dummy-element, and then infer from that dummy element text that the callbacks fired?
Exactly, or you can assign values to a javascript variable:
const cPicker = new ColorPicker({
onClickOutside(e){
},
onInput(color){
window['color'] = color;
},
onChange(color){
window['result'] = color;
}
})
And then
it('Should call all callbacks with correct arguments', async() => {
await page.goto(`http://localhost:5000/tests/visual/basic.html`, {waitUntil:'load'})
// Wait until the next frame
await page.evaluate(() => new Promise(requestAnimationFrame))
// Act
// Assert
const result = await page.evaluate(() => window['color']);
// Check the value
})
Check out the latest blogs from LambdaTest on this topic:
Native apps are developed specifically for one platform. Hence they are fast and deliver superior performance. They can be downloaded from various app stores and are not accessible through browsers.
One of the essential parts when performing automated UI testing, whether using Selenium or another framework, is identifying the correct web elements the tests will interact with. However, if the web elements are not located correctly, you might get NoSuchElementException in Selenium. This would cause a false negative result because we won’t get to the actual functionality check. Instead, our test will fail simply because it failed to interact with the correct element.
Smartphones have changed the way humans interact with technology. Be it travel, fitness, lifestyle, video games, or even services, it’s all just a few touches away (quite literally so). We only need to look at the growing throngs of smartphone or tablet users vs. desktop users to grasp this reality.
As part of one of my consulting efforts, I worked with a mid-sized company that was looking to move toward a more agile manner of developing software. As with any shift in work style, there is some bewilderment and, for some, considerable anxiety. People are being challenged to leave their comfort zones and embrace a continuously changing, dynamic working environment. And, dare I say it, testing may be the most ‘disturbed’ of the software roles in agile development.
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!