angular-t9n
Version:
A translation tool for Angular i18n
2 lines (1 loc) • 2.04 kB
JavaScript
import{d as C}from"./chunk-JCOG3QZD.js";import{a as c}from"./chunk-SWXDJEZV.js";import{a as U}from"./chunk-IZB6ZOII.js";import{D as v,F as p,I as m,Lc as b,S as o,T as u,U as r,V as f,X as _,_ as k,da as g,q as s,z as d}from"./chunk-XN5ZPBP6.js";import{a as h,b as l}from"./chunk-4CLCTAJ7.js";var A=(()=>{class n{constructor(e,t,a){this._translationService=e,this._activatedRoute=t,this._http=a,this.target=this._activatedRoute.params.pipe(r(i=>this._translationService.target(i.language)),d(i=>!!i))}unit(e){return this.target.pipe(p(1),s(t=>t._links.unit.href.replace("{id}",e)),r(t=>this._http.get(t)))}units(e){let t=c(e);return this.target.pipe(p(1),s(a=>a._links.units.href),r(a=>this._http.get(a,{params:t})))}updateUnitOnChange(e,t,a){t.target.valueChanges.pipe(f(a),u(t.target.value),v(500),m(),o(1),_(i=>i?t.state.enable({emitEvent:!1}):t.state.disable({emitEvent:!1})),r(i=>this.updateUnit(l(h({},e),{target:i,state:t.state.value})))).subscribe(i=>t.state.setValue(i.state,{emitEvent:!1})),t.state.valueChanges.pipe(f(a),u(t.state.value),m(),o(1),r(i=>this.updateUnit(l(h({},e),{target:t.target.value,state:i})))).subscribe()}updateUnit(e){e.target===""&&e.state!=="initial"?e.state="initial":e.target!==""&&e.state==="initial"&&(e.state="translated");let{target:t,state:a}=e;return this._http.put(e._links.self.href,{target:t,state:a})}orphan(e){return this.target.pipe(p(1),s(t=>t._links.orphan.href.replace("{id}",e)),r(t=>this._http.get(t)))}orphans(e){let t=c(e);return this.target.pipe(p(1),s(a=>a._links.orphans.href),r(a=>this._http.get(a,{params:t})))}migrateOrphan(e,t){return this.updateUnit(l(h({},t),{target:e.target,state:e.state})).pipe(r(()=>this.deleteOrphan(e)))}deleteOrphan(e){return this._http.delete(e._links.self.href).pipe(r(()=>this.target.pipe(p(1),r(t=>this._translationService.updateTarget(t.language)))),s(t=>({orphansRemaining:t.orphanCount>0})))}static{this.\u0275fac=function(t){return new(t||n)(g(U),g(C),g(b))}}static{this.\u0275prov=k({token:n,factory:n.\u0275fac})}}return n})();export{A as a};