package Ġio . tel eres o . plugin . actions Ċ Ċ import Ġcom . intellij . notification . Notification Display Type Ċ import Ġcom . intellij . notification . Notification Group Ċ import Ġcom . intellij . notification . Notification Type Ċ import Ġcom . intellij . openapi . action System . An Action Ċ import Ġcom . intellij . openapi . action System . An ActionEvent Ċ import Ġcom . intellij . openapi . module . Module Util Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . psi . search . Filename Index Ċ Ċ import Ġio . tel eres o . plugin . util . T eler es o Files Ċ import Ġcom . intellij . psi . search . Global Search Scope Ċ import Ġjava . io . File Ċ import Ġjava . awt . Border Layout Ċ Ċ import Ġjava . awt . Dimension Ċ Ċ import Ġjavax . swing . JPanel Ċ Ċ import Ġjavax . swing . J Component Ċ Ċ import Ġcom . intellij . openapi . ui . Dialog Wrapper Ċ import Ġcom . intellij . openapi . ui . Validation Info Ċ import Ġorg . jetbrains . annotations . Nullable Ċ import Ġjavax . swing . J Editor Pane ĊĊ Ċ class ĠExport Filtered Strings As Json Action Ġ: ĠAn Action () Ġ{ ĊĊĊĠĠĠ Ġoverride Ġfun ĠactionPerformed ( e : ĠAn ActionEvent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġthe Ġrequired Ġdata Ġfrom Ġdata Ġkeys ĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġthe Ġrequired Ġdata Ġfrom Ġdata Ġkeys ĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġe . project Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ ĠFilter Dialog ( project ). show () ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ class ĠFilter Dialog ( val Ġproject : ĠProject ) Ġ: ĠDialog Wrapper ( true ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlabel Ġ= ĠJ Editor Pane () ĊĠĠĠ Ġoverride Ġfun Ġcreate Center Panel (): ĠJ Component Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdialog Panel Ġ= ĠJPanel ( Border Layout ()) ĊĠĠĠĠĠĠĠ Ġdialog Panel . preferred Size Ġ= ĠDimension ( 5 0 0 , Ġ 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġlabel . preferred Size Ġ= ĠDimension ( 1 0 0 , Ġ 5 0 ) ĊĠĠĠĠĠĠĠ Ġdialog Panel . add ( label , ĠBorderLayout . CENTER ) ĊĠĠĠĠĠĠĠ Ġreturn Ġdialog Panel ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdo Validate (): ĠValidation Info ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( label . text . trim (). isNull Or Blank ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠValidation Info (" Empty Ġkeys ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . do Validate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdo OK Action () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . do OK Action () ĊĊĠĠĠĠĠĠĠ Ġval Ġkeys Ġ= Ġlabel . text . split ("," ). toList (). map Ġ{ Ġit . toLowerCase (). trim () Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġvar Ġmessage Ġ= Ġ" File Ġexported " ĊĠĠĠĠĠĠĠ ĠT eler es o Files . export Strings As Json ( project , Ġkeys Ġ= Ġkeys )?. let Ġ{ Ġmessage Ġ= Ġit Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġnot i Ġ= ĠNotification Group (" tel eres o _ exported ", ĠNotification Display Type . BAL LO ON , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġnot i . create Notification (" T eler es o ", Ġmessage , ĠNotification Type . INFORMATION , Ġnull ). notify ( project ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Add Ġcomma Ġseparated Ġstrings Ġkey Ġ, Ġtab _ home , tab _ wallet ... etc " ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} Ċ }